一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

JBossESB服務(wù)開發(fā)入門

 hehffyy 2010-08-12
(一) 建立JBossESB用戶庫

1、 JBossTools中,選擇菜單“Windows->references”;
2、 在打開的“Preferences”對(duì)話框中,選擇“Java->Build Path->User Libraries”;
3、 在右邊的窗格中,選擇“New”新建一個(gè)名為JBossESB的用戶庫;
4、 選中JBossESB用戶庫,選擇“Add jars”將JBoss部署目錄中如下子目錄里的jar包加入到JBossESB用戶庫:
jbossesb.sar
jbossesb.esb
jbpm.esb
jbrules.esb
slsb.esb
smookes.esb
soap.esb
spring.esb
5、 選擇“OK”,結(jié)束創(chuàng)建JBossESB用戶庫。
(二) 建立JBossESB項(xiàng)目

1、 JBossTools中,選擇菜單“File->New->roject…”;
2、 在打開的“Select a wizard”對(duì)話框中,選擇“JavaEE->Utility Project”,點(diǎn)擊“Next”繼續(xù);
3、 在打開的“Utility Module”對(duì)話框中,輸入如下信息:
Project NameHelloESB
Target RuntimeJBoss 4.2 Runtime
ConfigurationDefault Configuration for JBoss 4.2 Runtime
點(diǎn)擊“Finish”結(jié)束創(chuàng)建項(xiàng)目;
4、 選中HelloESB項(xiàng)目,右鍵單擊,在彈出的上下文菜單中選擇“Build Path->Configure Build Path…”;
5、 在彈出的屬性對(duì)話框中,選擇“Add Library…”;
6、 在彈出的“Add Library”對(duì)話框中,選擇“User Library”,點(diǎn)擊“Next”繼續(xù);
7、 在彈出的“User Library”對(duì)話框中,選中上面創(chuàng)建的“JBossESB”用戶庫,單擊“Finish”回到屬性對(duì)話框;
8、 單擊“OK”,結(jié)束。
(三) 編寫Action

1、 JBossTools中,選中HelloESB項(xiàng)目,右鍵單擊,在彈出的上下文菜單中選擇“New->Class”;
2、 在彈出的“Java Class”對(duì)話框中,輸入如下信息:
Packagedemo
NameMyJMSListenerAction
SuperClassorg.jboss.soa.esb.actions.AbstractActionLifecycle;
單擊“Finish”,結(jié)束創(chuàng)建MyJMSListenerAction
3、 MyJMSListenerAction.java文件中,創(chuàng)建一個(gè)sayHello函數(shù),最終代碼如下:
package demo;

import org.jboss.soa.esb.actions.AbstractActionLifecycle;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;

public class MyJMSListenerAction extends AbstractActionLifecycle {

protected ConfigTree _config;

public MyJMSListenerAction(ConfigTree config) {
_config = config;
}

public void sayHello(Message msg) {
System.out.println(”hello ” + msg.getBody().get());
}
}
(四) 建立ESB配置文件

1、 JBossTools中,選中HelloESB項(xiàng)目中的目錄“src->META-INF”,右鍵單擊,在彈出的上下文菜單中選擇“New->Other…”;
2、 在彈出的“Select a wizard”對(duì)話框中,選擇“ESB->ESB File”,選擇“Next”繼續(xù);
3、 在彈出的“ESB File”對(duì)話框中輸入如下信息:
Namejboss-esb
單擊“Finish”結(jié)束創(chuàng)建
(五) 配置JMS Providers

1、 雙擊打開jboss-esb.xml文件,在“JBoss ESB Editor”中選中“Providers”,在右邊窗格中選擇“Add”,在彈出的菜單中選擇“JMS Provider”;
2、 在彈出的“ESB JMS Provider”對(duì)話框中,輸入如下信息:
NameJBossMQ
Connection FactoryConnectionFactory
單擊“Next”繼續(xù);
3、 在彈出的“ESB JMS Bus”對(duì)話框中輸入如下信息:
IDhelloworld_gateway_channel
單擊“Finish”結(jié)束創(chuàng)建,
4、 選中“Providers->JBossMQ-> helloworld_gateway_channel->Filter”,在右邊的窗格中輸入:
Destination Namequeue/helloworld_request_gateway
5、 選中“JBossMQ”再添加一個(gè)IDhelloworld_esb_channelEJB JMS Bus;
6、 選中“Providers->JBossMQ-> helloworld_esb_channel->Filter”,在右邊的窗格中輸入:
Destination Namequeue/helloworld_request_esb

(六) 配置Services

1、 在“JBoss ESB Editor”中選中“Services”,在右邊窗格中選擇“Add”,
2、 在彈出的對(duì)話框中輸入如下信息:
NameHelloWorld
CategoryHelloWorld
Descriptiona simple listener to say hello
選擇Finish結(jié)束;
3、 選中“Services->HelloWorld->Listeners”,在右邊窗格中選擇“Add”,在出現(xiàn)的菜單中選擇“JMS Listener”;
4、 在彈出的對(duì)話框中輸入如下信息:
Namehelloworld_jms_gateway
Channel ID Refhelloworld_gateway_channel
選擇“Finish”結(jié)束
5、 在右邊的屬性窗格中輸入如下信息:
MaxThreads1
Is Gatewaytrue
6、 重復(fù)3~5再添加一個(gè)JMS Listener
Namehelloworld_jms_esb
Channel ID Refhelloworld_esb_channel
7、 選中“Services->HelloWorld->Actions”,在右邊窗格中選擇“Add”;
8、 在出現(xiàn)的對(duì)話框中輸入如下信息:
NameDemoListener
Classdemo. MyJMSListenerAction /* 對(duì)應(yīng)于前面創(chuàng)建的java */
ProcesssayHello /* 對(duì)應(yīng)于前面創(chuàng)建java類的方法 */
選擇Finish結(jié)束

(七) 建立JMS配置文件

JBossTools中,選中src目錄,新建一個(gè)名為helloworld-queue-service.xml文件,內(nèi)容如下:

<?xml version=“1.0″ encoding=“UTF-8″?>

<server>

<mbean code=“org.jboss.mq.server.jmx.Queue”

name=“jboss-cn.esb.helloworld:service=Queue,name=helloworld_request_gateway”>

<depends optional-attribute-name=“DestinationManager”>

jboss.mq:service=DestinationManager</depends>

</mbean>

<mbean code=“org.jboss.mq.server.jmx.Queue”

name=“jboss-cn.esb.helloworld:service=Queue,name=helloworld_request_esb”>

<depends optional-attribute-name=“DestinationManager”>

jboss.mq:service=DestinationManager</depends>

</mbean>

</server>
注:該文件創(chuàng)建jbossesb配置文件指定的JMS 消息隊(duì)列。

(八) 建立Deployment.xml

JBossTools中,選中“src->META-INF”目錄,新建一個(gè)名為deployment.xml文件,內(nèi)容如下:

<?xml version=“1.0″ encoding=“UTF-8″?>

<jbossesb-deployment>

<depends>jboss-cn.esb.helloworld:service=Queue,name=helloworld_request_gateway</depends>

<depends>jboss-cn.esb.helloworld:service=Queue,name=helloworld_request_esb</depends>

</jbossesb-deployment>

(九) 打包與部署

1、 JBossTools中,選擇菜單“Window->Show view->Other->JBossTools->roject archives”;
2、 在“Project archives”視圖中,創(chuàng)建一個(gè)名為helloworld.esb類型為JARarchives;
3、 選中剛才創(chuàng)建的helloworld.esb,新建一個(gè)includes為“*/”的fileset;右鍵單擊,在出現(xiàn)的上下文菜單中選擇“Build archive”創(chuàng)建helloworld.esb包;
4、 JBossTools中,選擇“Servers”視圖,將helloworld.esb部署到JBoss服務(wù)器上;啟動(dòng)JBoss,打開瀏覽器訪問http://localhost:8080/jbossesb。如果成功部署,就會(huì)看到:

(十) 測(cè)試

注:這里的測(cè)試通過往JMS消息隊(duì)列里發(fā)請(qǐng)求來測(cè)試

1、 JBossTools中,新建一個(gè)test包下的TestESB.java文件,其代碼如下:

package test;

import java.util.Hashtable;



import javax.jms.JMSException;


import javax.jms.ObjectMessage;


import javax.jms.Queue;


import javax.jms.QueueConnection;


import javax.jms.QueueConnectionFactory;


import javax.jms.QueueSender;


import javax.jms.QueueSession;


import javax.naming.Context;


import javax.naming.InitialContext;


import javax.naming.NamingException;




public class TestESB {



QueueConnection conn;


QueueSession session;


Queue que;




@SuppressWarnings(”unchecked”)


public void setupConnection() throws JMSException, NamingException


{


Hashtable properties = new Hashtable();


properties.put(Context.INITIAL_CONTEXT_FACTORY,


“org.jnp.interfaces.NamingContextFactory”);


properties.put(Context.URL_PKG_PREFIXES,


“org.jboss.namingrg.jnp.interfaces”);


properties.put(Context.PROVIDER_URL, “jnp://127.0.0.1:1099″);


InitialContext iniCtx = new InitialContext(properties);



Object tmp = iniCtx.lookup(”ConnectionFactory”);


QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;


conn = qcf.createQueueConnection();


que = (Queue) iniCtx.lookup(”queue/helloworld_request_gateway”);


session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);


conn.start();


System.out.println(”Connection Started”);


}



public void stop() throws JMSException


{


conn.stop();


session.close();


conn.close();


}



public void sendAMessage(String msg) throws JMSException {



QueueSender send = session.createSender(que);


ObjectMessage tm = session.createObjectMessage(msg);


send.send(tm);


send.close();


}




public static void main(String args[]) throws Exception


{


TestESB sm = new TestESB();


sm.setupConnection();


sm.sendAMessage(” jboss-cn.com! “);


sm.stop();



}



}


2、 右鍵單擊TestESB.java文件,以java應(yīng)用程序的方式運(yùn)行,就會(huì)在控制臺(tái)看到:
10:41:02,281 INFO [STDOUT] hello jboss-cn.com!
恭喜您,第一個(gè)JBossESB服務(wù)開發(fā)成功!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日韩欧美三级中文字幕| 亚洲欧美黑人一区二区| 国产又粗又猛又爽色噜噜| 日韩一区二区三区嘿嘿| 欧美一级特黄特色大色大片| 日本熟妇五十一区二区三区| 一区二区三区日韩中文| 视频在线观看色一区二区| 国产精品日韩精品一区| 欧洲精品一区二区三区四区| 亚洲精品中文字幕欧美| 欧美日韩少妇精品专区性色| 青青久久亚洲婷婷中文网| 亚洲中文字幕有码在线观看| 亚洲美女国产精品久久| 中文字幕av诱惑一区二区| 国产精品人妻熟女毛片av久久| 黑丝袜美女老师的小逼逼| 中文字幕亚洲在线一区| 欧美午夜国产在线观看| 日韩精品成区中文字幕| 在线观看欧美视频一区| 欧美韩日在线观看一区| 国产日韩欧美综合视频| 亚洲精品福利视频你懂的| 亚洲一区二区三区在线免费| 狠狠做五月深爱婷婷综合| 亚洲午夜福利不卡片在线| 国产内射在线激情一区| 免费精品一区二区三区| 中文字幕人妻日本一区二区 | 日韩欧美一区二区不卡看片| 国产精品推荐在线一区| 中文字幕熟女人妻视频| 九九热在线视频观看最新| 激情亚洲内射一区二区三区| 中文字幕一区二区久久综合| 在线日韩中文字幕一区 | 黑丝袜美女老师的小逼逼| 空之色水之色在线播放| 午夜精品久久久99热连载|