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这个文件配置如下:
< context-param >
< param-name > brokerURI </ param-name >
< param-value > /WEB-INF/activemq.xml </ param-value >
</ contaram >
< listener >
< listener-class > org.activemq.web.SpringBrokerContextListener </ listener-class >
</ 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="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>
此时,在启动你的TOMCAT的时候会看到JMS服务器已经绑到了上面。
分享到:
相关推荐
在这个"spring jms tomcat 异步消息传递入门实例"中,我们将探讨如何在Spring框架下利用JMS和Tomcat实现异步消息传递,以提高系统性能和可扩展性。 首先,理解异步消息传递的概念至关重要。在同步通信中,发送方...
API(Application Programming Interface)是软件之间交互的接口,对于Tomcat来说,API包含了Servlet、JSP、JNDI(Java Naming and Directory Interface)、JMS(Java Message Service)等关键组件的类库和方法。...
5. **GlobalNamingResources(全局命名资源)**:这是一个容器级别的命名上下文,可以存放如数据源、JMS队列等资源,这些资源可以在整个Tomcat实例中被多个Web应用程序共享。 6. **Realm(域)**: Realm是Tomcat的...
6. **JNDI (Java Naming and Directory Interface)**:Tomcat支持JNDI服务,允许开发者在应用中查找和绑定资源,如数据源、邮件会话等。 在`apache-tomcat-6.0.37.zip`压缩包中,你会找到以下关键文件和目录: - `...
12. **集成其他Java技术**:Tomcat可以与其他Java EE技术如EJB、JMS、JPA等结合使用,构建完整的Java EE应用程序。 13. **社区支持与更新**:由于Tomcat是开源项目,拥有活跃的社区支持,用户可以获取最新的补丁和...
最后,书中可能会涉及到与其他Java EE组件的集成,如JavaMail服务、JMS(Java Message Service)以及数据访问技术如JDBC和Hibernate。通过这些集成,开发者可以构建更复杂的企业级应用。 总的来说,《Tomcat与Java ...
5. **虚拟主机**:在server.xml中配置Host元素,支持多个域名绑定到同一台Tomcat服务器。 6. **集群与负载均衡**:通过复制Session和配置负载均衡器,实现多台Tomcat服务器间的负载均衡和故障转移。 7. **性能优化...
5. **JMS(Java Message Service)**:Tomcat 5.5也提供了对JMS的支持,开发者可以通过`javax.jms.*`包进行消息队列的操作,实现异步通信和解耦应用。 6. **Connector和Protocol Handlers**:Tomcat的连接器...
在Tomcat中,JNDI主要用于管理Web应用中的资源,如数据源(DataSource)、JMS队列和主题等。 2. **Tomcat的Context上下文**:在Tomcat中,每个Web应用都有一个Context,这是JNDI树的一个分支,用于存储该应用的特定...
2. **部署应用**:将WAR文件(Web应用归档文件)放入Tomcat的webapps目录下,服务器会自动解压并部署应用。 3. **Tomcat配置**:通过server.xml、context.xml等配置文件,可以定制Tomcat的行为,如设置端口号、连接...
2. **JMS队列和主题**:监控消息队列的深度、速率,预防消息堆积导致的问题。 3. **EJB和JNDI**:检查EJB服务和JNDI绑定的性能和可用性。 4. **数据源监控**:跟踪数据库连接池的使用情况,防止因连接耗尽导致的服务...
《Java.Web应用开发.J2EE和Tomcat第2版》这本书深入探讨了使用Java平台进行Web应用程序开发的技术和实践,特别是在J2EE(Java 2 Platform, Enterprise Edition)框架下结合Tomcat应用服务器的实现方法。以下是根据...
最后,调用`ctx.bind()`方法将数据源绑定到JNDI路径"mydata"下,这会在指定的文件系统路径下创建一个名为".bindings"的文件来存储绑定信息。 2. **读取数据源**: 在实际应用中,一旦数据源被绑定到JNDI,其他部分...
- 多样的绑定方式:提供多种数据绑定选项,如POJO、XMLBeans、JAXB1.1/2.0、Castor和JiBX等。 - JSR181 API支持:增强了注解的支持,简化了开发过程。 - 多种传输协议:支持HTTP、JMS、XMPP、In-JVM等多种通信...
7. **JMS相关**:如果EJB使用JMS(Java消息服务),则需要相应的JMS实现,如`hornetq-jms.jar`(JBoss的内置消息队列)。 在将Web工程部署到Tomcat时,虽然Tomcat不支持EJB,但可能需要以下组件: 1. **Servlet和...
在本篇中,我们将深入探讨xfire服务端的基本概念、核心功能以及如何在Java 7环境下与Tomcat 6集成。 ### 1. xfire服务端简介 xfire服务端是Apache CXF项目的一个早期版本,后来CXF合并了xfire的功能并成为更全面的...