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

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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服务器已经绑到了上面。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航