javajohn

          金色年華

          tomcat下應(yīng)用JMS

          ???????? jms做為J2EE的高級部分一直蒙著一層神秘的面紗,作為JMS的定制者SUN只規(guī)定了JMS規(guī)范,象很多其他SUN產(chǎn)品一樣被多家廠商提供了具體的實(shí)現(xiàn)。但是作為tomcat和RESIN(今年初宣布全部支持J2EE規(guī)范)。這些面向低端但卻被廣泛應(yīng)用的服務(wù)器本身并不對JMS提供支持。慶幸的是openjms和activeMQ兩家開源軟件提供了插件式的支持。
          ??????? 在應(yīng)用了一些開發(fā)框架如spring的項(xiàng)目里如果要使用到JMS,雖然SPRING提供了部分對JMS的支持但經(jīng)過我一段時間的應(yīng)用發(fā)現(xiàn),OO的封裝在某些地方反而成為開發(fā)過程中的障礙。在實(shí)現(xiàn)諸如監(jiān)聽之類的代碼段里使人非常的懊惱,即使用callback(回調(diào))有些東西仍然不能夠很好的被取到。
          ??????? 下面就一些TOMCAT上面JMS的支持既實(shí)現(xiàn)做一下整理。
          1.很自然的你需要下載JMS實(shí)現(xiàn),如:opnerJMS或者activeMQ .下載地址www.jmsopen.comwww.activeMQ.com
          2.服務(wù)器下載以后的具體配置在以上兩個網(wǎng)站上都有很詳細(xì)的說明,就不再列舉了。
          3。和WEB服務(wù)器的整合
          ???????? 首先要配置應(yīng)用的web.xml這個文件配置如下:

          1 ?? < context-param >
          2 ???? < param-name > brokerURI </ param-name >
          3 ???? < param-value > /WEB-INF/activemq.xml </ param-value >
          4 ?? </ context-param >
          5
          6 ?? < listener >
          7 ???? < listener-class > org.activemq.web.SpringBrokerContextListener </ listener-class >
          8 ?? </ listener >
          將這一段代碼放到web.xml里。注意到activemq.xml文件,是jms服務(wù)器的具體配置:
          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?beans?PUBLIC??"-//ACTIVEMQ//DTD//EN"?"http://activemq.org/dtd/activemq.dtd">
          <beans>

          ??
          <!--?====================================================================?-->
          ??
          <!--?ActiveMQ?Broker?Configuration?-->
          ??
          <!--?====================================================================?-->
          ??
          <broker>
          ????
          <connector>
          ??????
          <tcpServerTransport?uri="tcp://localhost:61616"?useAsyncSend="true"?maxOutstandingMessages="50"/>
          ????
          </connector>

          ????
          <!--?to?enable?Stomp?support?uncomment?this
          ????<connector>
          ??????<serverTransport?uri="stomp://localhost:61626"/>
          ????</connector>
          ????
          -->

          ????
          <persistence>
          ??????????
          <jdbcPersistence?dataSourceRef="oracle-ds"/>
          ????
          </persistence>
          ??
          </broker>

          ??
          <!--?====================================================================?-->
          ??
          <!--?JDBC?DataSource?Configurations?-->
          ??
          <!--?====================================================================?-->

          ??
          <!--?The?Derby?Datasource?that?will?be?used?by?the?Broker?-->
          ??
          <bean?id="oracle-ds"?class="[oracle驅(qū)動]"?destroy-method="close">
          ????
          <property?name="driverClassName">
          ??????
          <value>org.apache.derby.jdbc.EmbeddedDriver</value>
          ????
          </property>
          ????
          <property?name="url">
          ??????
          <!--?Use?a?URL?like?'jdbc:hsqldb:hsql://localhost:9001'?if?you?want?to?connect?to?a?remote?hsqldb?-->
          ??????
          <value>jdbc:derby:derbydb;create=true</value>
          ????
          </property>
          ????
          <property?name="username">
          ??????
          <value></value>
          ????
          </property>
          ????
          <property?name="password">
          ??????
          <value></value>
          ????
          </property>
          ????
          <property?name="poolPreparedStatements">
          ??????
          <value>true</value>
          ????
          </property>
          ??
          </bean>
          </beans>

          此時,在啟動你的TOMCAT的時候會看到JMS服務(wù)器已經(jīng)綁到了上面。(待續(xù))

          posted on 2005-12-08 18:41 javajohn 閱讀(17060) 評論(20)  編輯  收藏 所屬分類: 短信開發(fā)

          Feedback

          # re: tomcat下應(yīng)用JMS 2005-12-19 09:38 jackey

          樓主,麻煩把具體的配置寫詳細(xì),或者把文檔發(fā)到我的郵箱,急用.
          還有openjms的還有沒別的網(wǎng)站下載,上面的我打不開.
          我的郵箱:feitianshu1983@21cn.com  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2005-12-19 13:13 javajohn

          以上的兩個網(wǎng)地址:
          http://activemq.codehaus.org/ 是activeMQ的
          http://openjms.sourceforge.net/ 是openjms的
          配置的時候注意
          <persistence>
          <jdbcPersistence dataSourceRef="oracle-ds"/>
          </persistence>
          這段dataSourceRef的值是你下面配置的數(shù)據(jù)庫連接的名稱,比如我的配置是oracle-ds,在下面就做了oracle的連接信息,在下載了activeMQ以后在它的配置文件里有對mysql的例子。  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-01-10 15:36

          我現(xiàn)在正在做TOMCAT+SPRING+ACTIVEMQ的JMS呢,好頭痛,總是出現(xiàn)各種各樣的問題,好想請教你一下呀,我的QQ是25009993,MSN是tdhwxz@hotmail.com,希望加我啊!很緊急呢!謝謝先  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-02-19 20:55 ergedan

          這個是什么?  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-02-27 17:18 gusee

          activemq網(wǎng)站上面關(guān)于tomcat的配置寫得不太清楚,
          我配置完后控制臺上總是報(bào)Error Listener  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-03-02 09:29 javajohn

          我以上的說明都是針對3.2版本的,據(jù)說新版4.0已經(jīng)發(fā)布了.3.2版的文件下載到本地本身就有些地方配置是錯誤的,我已經(jīng)都說明了的,你只要看過我的這篇文章應(yīng)該是可以正常運(yùn)行的  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-03-04 12:01 shao

          樓主,麻煩把具體的配置寫詳細(xì),或者把文檔發(fā)到我的郵箱,急用.
          還有openjms的還有沒別的網(wǎng)站下載,上面的我打不開.
          我的郵箱:shaofuqiang@jinchuang.net  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-03-04 22:25 javajohn

          你登不上openjms說明你沒有詳細(xì)看我這篇文章的回復(fù),在回復(fù)里我修改了正確的地址,具體的配置我已經(jīng)在上面的文章說明了,不知道你怎么會配置不成功的.
          不知道blogjava能不能帶附件上來,我可以把我整理過的文檔發(fā)上來.  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-03-04 22:30 javajohn

          如果你在第一次測試activeMQ的時候報(bào)listener的錯誤那應(yīng)該是web.xml里的監(jiān)聽器配置不正確,這是因?yàn)閍ctiveMQ網(wǎng)站供下載的web.xml這個文件本來就是錯誤的,那個監(jiān)聽器應(yīng)該配置如下:
          <listener>
          <listener-class>org.activemq.web.SpringBrokerContextListener</listener-class>
          </listener>

            回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-03-12 16:19 msq

          activeMQ 數(shù)據(jù)庫怎么設(shè)置
          不用建表嗎  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-03-13 09:09 javajohn

          ACTIVEMQ自己會建  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-03-13 09:11 javajohn

          也不一定要用數(shù)據(jù)庫,activeMQ也支持其它的消息保存機(jī)制  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-04-10 19:55 asf

          上面配置的是oracle-ds
          下面卻是derby-ds
          真不知道怎么通過的  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-04-26 14:02 pc

          不錯哦!  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-04-30 16:52 javaboy

          activemq目前還是不穩(wěn)定,特別是在網(wǎng)絡(luò)狀態(tài)不好的環(huán)境下,基本上網(wǎng)絡(luò)一出現(xiàn)異常,它就死掉,估計(jì)是它還沒有對網(wǎng)絡(luò)異常進(jìn)行更多的檢測。  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-05-28 00:24 綠色使者、綠色心情

          真是,還是應(yīng)該有一些專業(yè)精神,asf提出的錯誤很明顯,確是到現(xiàn)在都還沒有更改過來  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2006-05-29 16:19 javajohn

          呵呵,看來是不能偷懶哦  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2007-05-29 16:58 guest

          不知道樓主整合過tomcat和MQ6.0沒?
          如果是,可以發(fā)給配置文件給我嗎?
          gongsiping@gmail.com
          http://wiki.apache.org/tomcat/HowTo#head-b45c4c0b8c57d9efa1e9c5342650d5e534f55cfa
          照著這篇文章試了一下,
          QueueConnectionFactory qcf = (QueueConnectionFactory) ctx.lookup("jms/MyQCF");
          在這步的時候總是會出錯.

          另外如果采用support pac即IBM提供的擴(kuò)展JNDI的包,會出現(xiàn)
          Properties env = new Properties();
          env.put(
          Context.INITIAL_CONTEXT_FACTORY,
          "com.ibm.mq.jms.context.WMQInitialContextFactory");
          env.put(Context.PROVIDER_URL, "localhost:1414/SYSTEM.DEF.SVRCONN");

          Context ctx = (Context) new InitialContext(env)
          到這步時會出錯:
          錯誤: javax.naming.ServiceUnavailableException: Unable to connect to the target
          queue manager localhost:1414/SYSTEM.DEF.SVRCONN [Root exception is com.ibm.mq.MQ
          Exception: MQJE001: MQException 出現(xiàn):完成代碼是 2,原因?yàn)?2195
          MQJE020: 隊(duì)列管理器不支持 CCSID]

          看了一下MQContext類,它里面設(shè)定了默認(rèn)的CCSID的值,而建立工廠連接的時候,根本就沒地方去重新設(shè)定CCSID..
            回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2008-08-19 20:17 任之

          您文章里的連接或知識已經(jīng)過時了,請更新好嗎?  回復(fù)  更多評論   

          # re: tomcat下應(yīng)用JMS 2011-09-05 17:09 和仁

          我與遇到此問題了.你是怎么解決的?  回復(fù)  更多評論   



          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(7)

          隨筆分類(36)

          隨筆檔案(39)

          classmate

          good blog

          企業(yè)管理網(wǎng)站

          好友

          站點(diǎn)收藏

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 惠水县| 平阳县| 西丰县| 龙井市| 建阳市| 喀喇沁旗| 蚌埠市| 黄龙县| 沈丘县| 昂仁县| 积石山| 商水县| 措美县| 平陆县| 于都县| 望江县| 丰城市| 讷河市| 张北县| 汪清县| 青铜峡市| 青河县| 财经| 库尔勒市| 宜兰县| 岳池县| 汤阴县| 铜鼓县| 崇文区| 怀柔区| 郎溪县| 波密县| 古丈县| 台南市| 金阳县| 安徽省| 衡阳县| 荥经县| 大渡口区| 黄山市| 西华县|