Knight of the round table

          wansong

          jboss JMS clustering

          http://community.jboss.org/wiki/JMSClusteringByExample

          http://community.jboss.org/wiki/JBossHA

          http://docs.jboss.org/jbossas/getting_started/v4/html/mdb.html
          http://carter.zhmy.com/archives/2007/112108.html


          Computer A:
          $ cd $JBOSS_HOME/bin
          $ ./run.sh -c all -b 192.168.0.143 -Djboss.messaging.ServerPeerID=1

          Computer B:
          $ cd $JBOSS_HOME/bin
          $ ./run.sh -c all -b 192.168.0.210 -Djboss.messaging.ServerPeerID=2


          It is necesary to give an ID to each server and this is accomplished with this directive:
          -Djboss.messaging.ServerPeerID

          When you start the jboss on computer A, you should see the logs (server.log) telling you that there is one node ready and listening, and once you start the jboss on computer B, on the log will appear the two nodes, the two IP's ready to consume messages.

          5) Now it's time to send a Message to the Queue. To accomplish this it's necessary to change the connection factory to "ClusteredConnectionFactory" (JMSDispatcher.java - See the code below).
          Also on the jndi.properties (if you are using the default InitialContext) file it's necessary to add the two computers ip's separated by comma to the java.naming.provider.url property. (In my case a create a Properties variable and I set all the necessary properties, JMSDispatcher.java - see the code below).

           

          java.naming.provider.url=192.168.0.143:1099,192.168.0.210:1099

          The client that I wrote is a web application, that consist in one index.jsp page, which contains a form that prompts you for the name of the queue, the type of messaging (Queue or Topic), the server ip and port, how many times it will send the message and the actual message to be sent; also the web application has a Servlet (JMSClusteredClient.java - see code below) that receives the postback and helper class (JMSDispatcher.java - see code below) that sends the message to the jboss servers.  You can to deploy it in any computer. In my case I deployed it on the Computer A. And you can access it through this URL: http://192.168.0.143:8080/JMSWeb/ (just modify the IP where the client war was deployed).If you notice (on the index.jsp - code below) I've already put some default values that reflects the name of the Queue, and the IP's of my two computers. Now, If you increment the number of times that the message will be sent (maybe a 10) and fill out the message box, and click "Send" you should see on the two servers some of the messages being consumed by the MDB.

          posted on 2011-09-15 19:48 w@ns0ng 閱讀(335) 評論(0)  編輯  收藏 所屬分類: jbossDistributed & Cluster

          主站蜘蛛池模板: 嘉义县| 宁南县| 广宗县| 通江县| 梅州市| 曲周县| 安溪县| 宣化县| 临朐县| 新化县| 荔浦县| 夏津县| 勐海县| 普格县| 富顺县| 崇信县| 红桥区| 共和县| 安化县| 郁南县| 虎林市| 曲阳县| 南雄市| 鄂尔多斯市| 迁安市| 丹寨县| 根河市| 嘉禾县| 贺兰县| 电白县| 昌江| 柘荣县| 富平县| 黑河市| 祁东县| 高雄市| 容城县| 邯郸县| 林口县| 永清县| 永济市|