8.0将ActiveMQ集成到应用服务器

本章包括下面内容:
■将ActiveMQ集成到Apache Tomcat
■将ActiveMQ集成到Jetty
■将ActiveMQ集成到Apache Geronimo
■将ActiveMQ集成到JBoss
■理解ActiveMQ和JNDI
至此,本书的大多数的示例使用了ActiveMQ的独立的实例:ActiveMQ在它自己的JVM中运行。然后第7章眼视力多种方法将ActiveMQ嵌入到一个Java应用中,包括使用ActiveMQ Java APIs和使用Spring框架XML配置。这种实现风格是很普遍的,但是本章的目标是不同的。本章的目标是演示为集成第三方插件对应用服务器的特性的使用。
术语[i]application server[/i]被过度使用,但在大多数一般的观念中,application servers提供了一个容器框架,容器框架接受一个应用的部署和提供应用可运行的环境。本章聚焦于Java application servers,这里有两类。第一类实现了Java Servlet的specification([url]http://mng.bz/cmMj[/url])并且以[i]web container[/i]为人所知。Apache Tomcat和Jetty都属于该类web container。第二种类型的应用程序服务器实现了Java EE系列规范([url]http://mng.bz/NTSk[/url])并以[i]a Java EE container[/i]被人所知。Apache Geronimo和JBoss属于该类Java EE containers。我们为本章选择了四个application servers因为他们是有名和免费使用的。ActiveMQ也能和商业的应用服务器集成想WebLogic和WebSphere,使用和本章中相同的Strategies。
当deploy ActiveMQ到application server,需要完成两个major tasks--启动broker并提供到JMS destinations的访问。解决这两个这里都有不同的approaches。一个建议是使用Spring Framework处理两个tasks。在第7章使用的strategy演示了Spring能被用来启动ActiveMQ并提供到JMS destination的访问。但是因为我们已经演示了这个方法,另外一个不同的方法将在本章使用。
ActiveMQ提供了一个独特的特性允许代理通过ActiveMQ JMS 连接工厂来建立。通过使用一个URI为代理建立一个还不存在的ActiveMQ connection factory,JMS connection将建立一个代理的实例。所以这意味着代理的建立时依赖建立ActiveMQ connection的能力。JMS connections从一个在application server注册的connection factory建立。为了这个目的,Java application Servers 提供一个JNDI(Java Naming and Directory Interface)实现,它能被用来expose对象来用于应用到容器的部署。Objects例如JDBC drivers,JMS resources,transaction managers等等可以配置为使用JNDI API来访问。这是将在web容器中使用的方法。
Apache Tomcat和Jetty都支持两种不同的为JNDI中对象的配置:local JNDI和global JNDI。Local JNDI被用来配置将被exposed到一个特殊应用的对象,而global JNDI被用来exposed到整个web container中任意application的对象。我们将使用每种JNDI配置来演示JMS资源的建立。将这些差异配置在JNDI配置中并演示每个在Tomcat和Jetty如何使用,这里有两种不同的偏好的示例web应用程序。这些在示例源码是可用的并命名为jms-webapp-local和jms-webapp-global。
Apache Geronimo 和 JBoss都支持JNDI,但是这只将被用来注册JMS资源。ActiveMQ代理将不会通过JMS connection的建立被启动。为了启动ActiveMQ代理并集成它到Geronimo和JBoss,本章将用于一个[i]J2EE Connector Architecture[/i]([url]http://mng.bz/fXU9[/url])资源适配器,也被称为[i]JCA[/i]。为了在集成细节中定位在两个在这里reviewd的Java EE containers间的difference,两个不同编号的示例web application在示例源码中可用并被命名为jms-webapp-geronimo和jms-webapp-jboss。
虽然四个示例web application 项目在本章中被使用,每个应用的核心都是相同的。这里有四个相同的应用的拷贝的原因是为支持对不同的部署样式的使用。在处理actual的集成之前,看一下high-level的sample web application是一个好主意。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值