• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Spring整合Weblogic jms实例详解

java 搞代码 4年前 (2022-01-05) 22次浏览 已收录 0个评论

这篇文章主要介绍了Spring整合Weblogic jms实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

本文主要介绍weblogic jms的配置,包括JMS 服务器和JMS 模块(连接工厂、队列、远程 SAF 上下文、SAF 导入目的地、SAF 错误处理)的配置;并在Spring环境下进行消息的监听及发送;为了更多的使用webloigc jms的功能,发送的队列使用saf配置的远程weblogic jms队列(两边的weblogic版本须一致),当然本地也是可以的。本文中demo所使用的软件环境为:weblogic 10.3.6.0、spring5.1.2.RELEASE

注:saf配置的远程队列只能发送消息,不能监听消息。

1、weblogic jms配置

1.1、配置JMS 服务器

注:需配置持久性存储,没有就创建一个

1.2、配置JMS 模块

下面的功能都是在JMS 模块中配置;连接工厂、队列、远程 SAF 上下文、SAF 导入目的地、SAF 错误处理

这里就不一一截图配置过程了,按页面提示配置就行;配置结果如下

连接工厂需设置jndi,程序里会用到

SAF 远程上下文配置的远程地址及用户名密码信息

SAF 导入目的地配置的远程的队列消息及对应到本地的jndi

SAF 错误处理程序配置错误处理策略属性,选配

队列需设置jndi,程序里会用到

SAF 导入目的地配置的队列消息如下:

点击队列名称:

本地 JNDI 名称程序里会用到,向该jndi发送消息实际会发送到远程的队列里。

2、spring配置

增加applicationContext-jms.xml文件:

      weblogic.jndi.WLInitialContextFactoryt3://10.39.196.10:7001weblogicweblogic1        

jndiTemplate配置weblogic的连接信息

jmsConnectionFactory配置连接工厂

testQueueSend向该队列发送消息,对应上面saf远程目的地里队列的本地jndi名称,

testQueueReceive对该队列进行监听,接受消息

jmsTemplate配置jms的模板

sender发送消息的类,把该类配置为定时任务,定时发送消息;

receiver监听的类

listenerContainer监听容器

3、类信息

发送者:

 package com.inspur.demo.jms; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; public class Sender { protected static Logger logger = LoggerFactory.getLogger(Sender.class); //发送消息的队列 @Autowired @Qualifier("testQueueSend") private Destination destination; @Autowired private JmsTemplate jmsTemplate; public void hello() { String message = System.currentTimeMillis() + "-hello"; logger.info("Message Send:{}", message); jmsTemplate.send(destination, new MessageCreator() { @Override public Message createMessage(Session session) throws JMSException { return session.createTextMessage(message); } }); } }

使用JmsTemplate来发送消息。

接受者:

 package com.inspur.demo.jms; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.<b style="color:transparent">来源gao@dai!ma.com搞$代^码网</b>TextMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Receiver implements MessageListener { protected static Logger logger = LoggerFactory.getLogger(Receiver.class); @Override public void onMessage(Message message) { try { String text = ""; if (message instanceof TextMessage) { text = ((TextMessage) message).getText(); } logger.info("Message received:{}", text); } catch (JMSException e) { e.printStackTrace(); } } }

4、测试

1.发送消息

启动程序后,每隔5秒中会往testQueueSend队列(远程队列)中发送一条消息,可到weblogic控制台查看消息.

2.接受消息

在weblogic控制台手工往testQueueReceive队列插入一条消息,程序日志会打印该消息内容。

以上就是Spring整合Weblogic jms实例详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring整合Weblogic jms实例详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址