- 浏览: 522476 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (240)
- Java (25)
- Flex (46)
- Sybase (26)
- Sqlserver (7)
- .NET (1)
- .NET-Silverlight (11)
- Hibernate (5)
- Korn-shell (2)
- Perl (5)
- Unix & Linux (11)
- Ruby (3)
- SVN (2)
- Tomcat (1)
- CSS (5)
- Web (2)
- English (3)
- SQL (9)
- Qlikview (4)
- Spring (7)
- javascript (2)
- weblogic (5)
- iphone (1)
- 网络 (5)
- 随 (23)
- AutoSys (1)
- Hermes (2)
- RPM (2)
- CA (1)
- Operating System (1)
- SSIS (3)
- Windows (2)
- excel (1)
- SSRS (1)
- 活动 (23)
- Eclipse (2)
- Angular (0)
- Python (0)
- AWS (0)
- Android (0)
最新评论
-
devcang:
long t1 = System.nanoTime();
java中取得微秒级的时间 -
Sev7en_jun:
Sev7en_jun 写道 ExternalInterface ...
flex"页面跳转" -
Sev7en_jun:
ExternalInterface.call("fu ...
flex"页面跳转" -
lujinan858:
Incorrect syntax near 'fddActiv ...
Sybase alter 用法 -
Sev7en_jun:
Alter table TestItem drop COLUM ...
Sybase alter 用法
JMS是一个由AS提供的Message服务。它能接受消息产生者(Message Provider)所发出的消息,并把消息转发给消息消费者(Message Consumer)。
2、JMS提供2种类型的消息服务:(1)Queue,即点对点,每个消息只转发给一个消息消费者使用。(2)Topic,即发布和订阅,每个消息可以转发给所有的订阅者(消费者)。
3、WEBLOGIC 8下的JMS配置:
(1)配置JMS Connection Factory
(2)配置JMS File Store(目前所找到的文档都是配置File Store,其实在具体的应用中,可能JMS JDBC Store更广泛,但暂时没有找到资料)
(3)配置JMS Server
(4)在JMS Server的destinations中配置JMS Queue或者JMS Topic
其中提供给消息产生者和消息消费者使用的是JMS Connection Factory的JNDI和JMS Queue或者JMS Topic的JNDI。
4、消息产生者向JMS发送消息的步骤:
(1)使用JNDI查询对象JMS ConnectionFactory和Destination(JMS Queue/Topic)
(2)使用管理对象JMS ConnectionFactory建立连接Connection
(3)使用连接Connection 建立会话Session
(4)使用会话Session和管理对象Destination创建消息生产者MessageSender
(5)使用消息生产者MessageSender发送消息
一个消息发送者的例子:
package myjms; import java.util.*; import javax.naming.*; import javax.jms.*; public class MessageProducter { public static void main(String[] args) { String queueConnectionFactoryName = "myjmsconnectionfactory"; //JMS Connection Factory?JNDI String queueName = "myjmsqueue"; //JMS Queue??JMS Topic?JNDI boolean transacted = false;//transaction?? int acknowledgementMode = Session.AUTO_ACKNOWLEDGE;//acknowledgement?? String message="Message need to send";//????????? Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); properties.put(Context.PROVIDER_URL, "t3://localhost:7001"); try { Context context = new InitialContext(properties); Object obj = context.lookup(queueConnectionFactoryName); QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) obj;//JMS Connection Factory??? obj = context.lookup(queueName); Queue queue = (Queue) obj;//JMS Queue??JMS Topic??? QueueConnection queueConnection=queueConnectionFactory.createQueueConnection();//???? queueConnection.start(); QueueSession queueSession = queueConnection.createQueueSession(transacted, acknowledgementMode); TextMessage textMessage = queueSession.createTextMessage(); textMessage.clearBody(); textMessage.setText(message); QueueSender queueSender = queueSession.createSender(queue); queueSender.send(textMessage); if (transacted) { queueSession.commit(); } if (queueSender != null) { queueSender.close(); } if (queueSession != null) { queueSession.close(); } if (queueConnection != null) { queueConnection.close(); } } catch(Exception ex){ ex.printStackTrace(); } } }
5、消息消费者从JMS接受消息的步骤:
(1)使用JNDI查询对象JMS ConnectionFactory和Destination(JMS Queue/Topic)
(2)使用管理对象JMS ConnectionFactory建立连接Connection
(3)使用连接Connection 建立会话Session
(4)使用会话Session和管理对象Destination创建消息消费者MessageReceiver
(5)使用消息消费者MessageReceiver接受消息,需要用setMessageListener将MessageListener接口绑定到MessageReceiver
消息消费者必须实现了MessageListener接口,需要定义onMessage事件方法。
一个消息消费者的例子:
package myjms; import java.util.*; import javax.naming.*; import javax.jms.*; public class MessageReciever implements MessageListener { public void onMessage(Message message) { if (message instanceof TextMessage) { TextMessage textMessage = (TextMessage) message; try { System.out.println("Message content is:" + textMessage.getText()); } catch (JMSException e) { e.printStackTrace(); } } } public static void main(String[] args) { MessageReciever msgRcvr=new MessageReciever(); String queueConnectionFactoryName = "myjmsconnectionfactory"; String queueName = "myjmsqueue"; boolean transacted = false; int acknowledgementMode = Session.AUTO_ACKNOWLEDGE; Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); properties.put(Context.PROVIDER_URL, "t3://localhost:7001"); try { Context context = new InitialContext(properties); Object obj = context.lookup(queueConnectionFactoryName); QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) obj; obj = context.lookup(queueName); Queue queue = (Queue) obj; QueueConnection queueConnection = queueConnectionFactory. createQueueConnection(); queueConnection.start(); QueueSession queueSession = queueConnection.createQueueSession(transacted, acknowledgementMode); QueueReceiver queueReceiver = queueSession.createReceiver(queue); queueReceiver.setMessageListener(msgRcvr); synchronized(msgRcvr){ msgRcvr.wait(100000); } if (queueReceiver != null) { queueReceiver.close(); } if (queueSession != null) { queueSession.close(); } if (queueConnection != null) { queueConnection.close(); } } catch (Exception ex) { ex.printStackTrace(); } } }
6、Message-driven Bean
MDB实际上就是一个消息消费者的客户端程序。它由AS EJB Container来管理。在JBUILDER生成一个MDB非常简单。
发表评论
-
Tools
2015-04-16 15:29 01. DeleteDuplicateLineFromFile ... -
Java List deepCopy function
2015-03-09 17:00 1159List<String> listA = ne ... -
集成Sqlserver Windows Authentication验证到第三方DB客户端软件中, 如DbVisualizer & Squirrel等
2014-03-18 16:47 1577本方法适用于Java编写的第三方DB客户端软件, 如DbV ... -
如何把jdk配置到eclipse里
2013-07-17 15:14 902window -> preference -> ... -
用java导入密钥和证书,组成密钥对导入同一密钥库
2012-03-05 15:57 26141.使用openssl转换将pem的密钥和证书成der格式 ... -
JAVA1.5范型
2011-11-02 15:19 1174本文将介绍J2SE 5.0中三个比较重要的特性: 枚举类型, ... -
SFTP服务器的文件管理(转)
2011-04-26 13:59 2102来源(http://forhope.iteye.c ... -
在Spring框架下 使用junit进行单元测试
2010-03-01 15:53 1123package com.yourPackage.test;im ... -
JAVA JNI 使用实例
2010-02-25 21:34 1597JAVA JNI 使用实例 JAVA可以通过JNI接口 ... -
java中调用c(c++)写的dll 文件的实现及步骤(转)
2010-02-25 21:33 1612JNI使用技巧点滴 本文为在 32 位 Windows 平台 ... -
Could not load org.apache.xerces.util.EncodingMap
2010-02-09 14:47 2216出现此错误的原因 1、在hibernate 映射文件中引入了 ... -
addBatch()用法(jdbc事务控制)
2010-01-22 14:28 2267addBatch()用法 查看文章 Prepar ... -
java获取当前时间
2010-01-15 11:51 2324有两种方法: 方法一 ... -
关于java中的“包”与C#中的“命名空间”的简单认识
2009-12-28 10:37 2668Package vs. Namespace我们知道,重用性(r ... -
使用ActiveMQ收发JMS
2009-11-16 14:29 12081.本机测试版 import javax.jms.Conne ... -
使用JBOSS收发JMS
2009-11-13 17:07 4304当我们清楚了以后内 ... -
java中取得微秒级的时间
2009-05-14 11:56 5149为了测试java 一个函数的执行时间 。 use ... -
Java实现随机验证码功能
2009-05-14 14:55 930现在许多系统的注册、登录或者发布信息模块都添加的随机码功能,就 ... -
“大家来找茬”自制查找程序
2009-05-14 17:54 1224此程序初衷是为了“沉迷”于此游戏的老婆大人,怕其用眼过度,为她 ... -
由一道java题的思考和引申
2009-05-22 09:54 1300题目: 用程序产生10个随机数,序号从1到10,然后对这 ...
相关推荐
JMS 简介以及Weblogic配置JMS图解
描述了weblogic jms服务器的配置
weblogic中使用JMS发送和接受消息(Queue and TOPIC)
Weblogic_JMS+配置数据源配置
WebLogic_JMS的概念,分类,实现形式,甚至有具体的编码
NULL 博文链接:https://ldxyll.iteye.com/blog/914319
本例详细介绍了如何配置JMS服务以及weblogic的安装及在weblogic中配置JMS服务,例子简单易懂,文档含代码,适合初学者学习使用
webLogic9.2配置JMS步骤,发布/订阅消息发送方式
压缩包里有两个Demo。都是使用weblogic提供的JMS服务,进行消息的发送和接受消费的例子。
这是本人搭建的Spring框架,集成了Weblogic JMS,测试已经完成。现提供给大家下载学习。
自己写好的一个简单的weblogic jms的简单实现,包括点对点的实现,以及topic的实现,适合初学者参考
文件内有springboot 集成jms源码 ,自己写的小demo测试过没有问题。。
weblogic_jms创建.doc
实现了jms的queue和topic,同时也实现了远程传送消息和本地传送消息,另外也分别实现了session的事务和非事务模式,有了这三个例子应该可以满足你的任何关于jms的需求了,由于上传限制,另外还需要下载有个WebLogic包...
public class JMSQueueSend { ... private weblogic.jms.extensions.WLQueueSession qsession; private weblogic.jms.client.JMSProducer qsender; private Queue queue; private ObjectMessage msg; ...
详解weblogic上部署JMS,配有每一步的图片。
在Weblogic上配置JMS服务的方法
weblogi 整合 服务器 jms 异步消息 spring 包含weblogic的安装与配置 和在weblogic中配置jms。并有spring和jms的一个测试用例
复件 weblogic中配置JMS及其测试程序
描述在Weblogic环境下如何进行JMS 消息队列的开发。