首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 开源技术 >> Tomcat >> 正文

解析Tomcat下应用JMS开发技巧

【摘 要】在应用了一些开发框架如spring的项目里如果要使用到JMS,虽然SPRING提供了部分对JMS的支持但经过我一段时间的应用发现,OO的封装在某些地方反而成为开发过程中的障碍。

    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>
5
6  <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服务器已经绑到了上面。
【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航