首页 > 网站 > Tomcat > 正文

详细解析Tomcat下应用JMS开发技巧

2024-09-06 19:01:08
字体:
来源:转载
供稿:网友

jms做为j2ee的高级部分一直蒙着一层神秘的面纱,作为jms的定制者sun只规定了jms规范,象很多其他sun产品一样被多家厂商提供了具体的实现。但是作为tomcat和resin(今年初宣布全部支持j2ee规范)。这些面向低端但却被广泛应用的服务器本身并不对jms提供支持。庆幸的是openjms和activemq两家开源软件提供了插件式的支持。

在应用了一些开发框架如spring的项目里如果要使用到jms,虽然spring提供了部分对jms的支持但经过我一段时间的应用发现,oo的封装在某些地方反而成为开发过程中的障碍。在实现诸如监听之类的代码段里使人非常的懊恼,即使用callback(回调)有些东西仍然不能够很好的被取到。

下面就一些tomcat上面jms的支持既实现做一下整理。

1.很自然的你需要下载jms实现,如:opnerjms或者activemq .下载地址www.jmsopen.com 或www.activemq.com

2.服务器下载以后的具体配置在以上两个网站上都有很详细的说明,就不再列举了。

3.和web服务器的整合,首先要配置应用的web.xml这个文件配置如下:

1  <context-param>2  <param-name>brokeruri</param-name>3  <param-value>/web-inf/activemq.xml</param-value>4  </context-param>56  <listener>7  <listener-class>org.activemq.web.springbrokercontextlistener</listener-class>8  </listener>


将这一段代码放到web.xml里。注意到activemq.xml文件,是jms服务器的具体配置:

<?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="derby-ds" class=  "org.apache.commons.dbcp.basicdatasource"  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服务器已经绑到了上面。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表