分享

tomcat下应用JMS - javajohn - BlogJava

 zhuge 2006-09-01

         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.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:///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驱动]" 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>


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多