前文再续,书接上一回:
http://sylven.iteye.com/blog/550896
在上面这篇文章,我们完成了MQ、JMS的配置,那么接下来我们来到重点--将weblogic和MQ连接起来。
3.3.集成到Weblogic
其实这部分的工作,没多少难度,就是配置比较繁琐,开始吧:
3.3.1.创建外部JMS服务器(foreign JMS server)
启动weblogic,登陆控制台,展开domain->服务->消息传递->JMS模块。
选择新建一个JMS模块JMSModule_MQ:
图3.3.1:创建JMS模块
选择一个server:
图3.3.2:创建JMS模块2
在刚才的模块创建一个资源,类型为外部服务器(foreign server)名为ForeignServer_JMS:
图3.3.3:创建模块资源--外部服务器
图3.3.4:创建模块资源--外部服务器2
外部服务器JND配置
图3.3.5:JNDI参数
在外部服务器创建两个目标:
图3.3.6:两个目标
及两个连接工厂:
图3.3.7:两个连接工厂
配置完之后,当然要写一个MDB测试一下:
消息驱动bean代码如下:
package mq;
import javax.annotation.Resource;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.QueueConnection;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;
/**
*
* @author Justin
*/
@MessageDriven(name = "TestMDB2", mappedName = "jms/applicationJMSQueue",
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
})
public class MQTestBean2 implements MessageListener {
@Resource(mappedName = "jms/approvalJMSQueue")
private javax.jms.Queue approvalJMSQueue;
@Resource(mappedName = "jms/approvalFactory")
private javax.jms.QueueConnectionFactory approvalFactory;
public void onMessage(Message message) {
try {
String msg = ((TextMessage) message).getText();
System.out.println("=> 收到申请: " + msg);
sendMessage("同意申请:" + msg);
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void sendMessage(String msg) throws Exception {
QueueConnection conn = null;
QueueSession session = null;
try {
conn = approvalFactory.createQueueConnection();
session = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
QueueSender sender = session.createSender(approvalJMSQueue);
Message newMsg = session.createTextMessage(msg);
sender.send(newMsg);
System.out.println("=> 发送审批结果:" + msg);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
session.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
部署文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/90">
<weblogic-enterprise-bean>
<ejb-name>TestMDB2</ejb-name>
<message-driven-descriptor>
<destination-jndi-name>
jms/applicationJMSQueue
</destination-jndi-name>
<connection-factory-jndi-name>
jms/applicationFactory
</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
打包并发布到weblogic。
现在测试一下:
在MQ管理器中,在application队列放入一个消息:
图3.3.8.放入测试消息
如果所有配置正确,则MDB->MQTestBean2会接收到刚刚放入的消息,并进行处理,然后放到approval队列:
图3.3.9.weblogic服务器输出(netbeans控制台)
之后我们可以再到MQ管理器查看approval队列,可以看到MDB处理后的消息:
图3.3.10.到approval队列查看处理后的消息
OK,至此,我们成功地将MQ无缝地集成到了weblogic上,使部署在weblogic上的MDB可以像使用原生的JMS一样操控MQ队列了。
- 大小: 45.4 KB
- 大小: 11.3 KB
- 大小: 12.9 KB
- 大小: 17.3 KB
- 大小: 18 KB
- 大小: 24.1 KB
- 大小: 26.2 KB
- 大小: 11.5 KB
- 大小: 136.2 KB
- 大小: 77.2 KB
分享到:
相关推荐
### WebSphere与Weblogic集成产品比较 #### 一、引言 随着企业信息化建设的深入发展,业务集成已成为企业IT架构的重要组成部分。本文旨在对比分析IBM WebSphere集成平台与BEA WebLogic集成平台在业务集成方面的...
### WebLogic与MQ集成配置详解 #### 一、概述 在现代企业级应用环境中,中间件扮演着极其重要的角色,特别是在实现不同系统间的通信时。本文将详细介绍如何将Oracle WebLogic Server 10.3与IBM WebSphere MQ 6.0...
此外,WebSphere还包含了Integration Bus、Commerce、Portal、MQ等一系列组件,满足企业不同层面的需求,如集成、电子商务、门户建设和消息传递。 相反,BEA WebLogic Server同样是一款强大的J2EE应用服务器,它以...
在Linux环境下,将WebLogic Server与IBM MQ集成是一项常见的任务,以便实现消息传递和应用程序间的通信。本集成涉及的主要知识点包括: 1. **IBM MQ**:IBM MQ(原名WebSphere MQ)是一款企业级的消息中间件,它...
例如,WebSphere可能更倾向于IBM的MQ系列,而WebLogic则可能与Oracle数据库有更好的兼容性。 10. **社区支持**:虽然两者都有庞大的用户社区和专业论坛,如IBM开发者Works和Oracle社区,WebSphere可能由于IBM的长期...
14. **WebLogic与其他技术集成**:讨论WebLogic Server与其他技术如Spring框架、OSGi、WebSphere MQ等的集成方法。 15. **故障排查与恢复**:提供常见问题的解决方案和故障恢复策略,帮助管理员快速定位和解决问题...
2. **与JMS集成**:WebLogic Server内置了JMS(Java Message Service)支持,允许与其他JMS提供者(如IBM WebSphere MQ)交互,实现消息传递和事件驱动架构。 3. **与SOA套件集成**:WebLogic Server是Oracle SOA ...
2. **商业JMS Providers**:例如IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ、NonStop Server for Java Message Service (JMS)、Sun Java System Message Queue、Sonic jms、TIBCO Enterprise For JMS和iLinkMQ...
- **与其他应用服务器的集成**:讨论如何将ActiveMQ集成到企业级应用服务器中,如WebSphere、WebLogic等,以便于在更复杂的环境中使用。 - **其他语言的支持**:除了Java之外,ActiveMQ还支持多种其他语言的客户端...
2. **商业JMS提供商**:如IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ、Sun Java System Message Queue、Sonic JMS和TIBCO Enterprise For JMS。这些商业产品通常包含在大型应用服务器中,或者作为独立的中间件...
7. 和谐的企业应用集成:SharePoint 提供了和谐的企业应用集成功能,帮助企业集成不同的应用程序,提高了企业的生产力。 8. 改进的菜单体验:SharePoint 提供了改进的菜单体验,帮助用户更方便地使用企业的应用程序...
在商业JMS provider市场,IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ等占据主导地位,但它们通常与特定的应用服务器捆绑销售,而ActiveMQ作为独立的开源JMS provider,更易被广泛应用于各种架构设计中。...
- 商业 JMS 提供商,如 IBM WebSphereMQ、BEA WebLogic JMS 等,它们通常集成在大型商业应用服务器中。 6. **安装与使用**: - 用户可以从 Apache 官方网站下载最新版本的 ActiveMQ 并按照指南进行安装配置。 - ...
5. **JMS Provider**:如IBM WebSphere MQ、Apache ActiveMQ或RabbitMQ等,它们实现JMS规范,提供消息的存储和传输服务。 6. **MDB配置**:在Java EE应用服务器中,MDB需要通过XML部署描述符(如ejb-jar.xml或META-...
此外,商业JMS提供商如IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ等也是竞争对手。然而,ActiveMQ凭借其使用NIO技术在性能上的优势,以及作为独立开源组件的灵活性,使其在多种架构设计中得到广泛应用。 在...
Oracle BPEL流程管理器提供了一个强大而灵活的平台,支持流程建模、异常管理、服务间的交互,以及与各种J2EE应用服务器(如Oracle AS,WebLogic,JBoss,WebSphere)的集成。此外,Oracle还提供了业务活动监视(BAM...
尽管ActiveMQ 在开源JMS提供商中脱颖而出,但仍有其他竞争对手,如JBoss的jBossMQ和jBoss Messaging,OpenJMS,以及IBM WebSphereMQ、BEA WebLogic JMS等商业产品。尽管这些产品都有各自的优点,但ActiveMQ的独立性...