hk2000c技术专栏

技术源于哲学,哲学来源于生活 关心生活,关注健康,关心他人

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  111 随笔 :: 1 文章 :: 28 评论 :: 0 Trackbacks
 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服务器已经绑到了上面。
posted on 2007-11-16 16:48 hk2000c 阅读(3888) 评论(0)  编辑  收藏 所属分类: JMS

只有注册用户登录后才能发表评论。


网站导航: