JMS 使用步骤

JMS 使用步骤:以下以P2P 的例子加以说明,pub/sub的例子与此相似。
JMS 发送机:
第一步:需要一些属性来初始化容器。
        属性一:标识是那种容器,如weblogic :weblogic.jndi.WLInitialContextFactory
       属性二:访问容器的协议地址和端口:t3://localhost:7003
属性三:用户名和密码(这两个属性可选)
初始化运行JMS相关API的容器。
代码:
Properties p = new Properties();
p.put("Context.INITIAL_CONTEXT_FACTORY","weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://localhost:7003");
p.put(Context.SECURITY_PRINCIPAL,"weblogic");//(可选)
p.put(Context.SECURITY_CREDENTIALS,"weblogic");//凭证 证件 (可选)
Context ctx = new InitialContext(p);// 上下文
第二步:测试是否连接JMS服务器上。
        Context 上下文提供的bind(绑定)方法,可以把一些相关的属性绑定到weblogic 中的JNDI 中,
并可以查询到。调用上下文提供的lookUp(查询) 方法,查询已经绑定在JNDI 树上的属性。
如果,绑定和查询 都没有问题,那说明已经连接到了JMS 服务器上。当然,Context 也提供了其它的API。代码:
/**测试JNDI 是否联连成功 是否可以把属性挂在JNDI 树上 开始*/
ctx.bind("name","zs");
Object ojbObject = ctx.lookup("name");
System.out.println(ojbObject.toString());
/**测试JNDI 是否联连成功 是否可以把属性挂在JNDI 树上 结束*/
第三步:查询JMS 连接工厂。
        获取一个JMS连接工厂是为了获取与服务器的连接。前题是这个JMS工厂一定要事先创建好,
代码:
QueueConnectionFactory connectionFactory =  (QueueConnectionFactory) ctx.lookup("testcf");
注:查询的是连接工厂的JNDI的名字,不是连接工厂的名字。
第四步:创建一个列队或主题连接。
        创建一个列队或主题连接是为了获取与JMS会话的Session.代码:
QueueConnection qConnection  = connectionFactory.createQueueConnection();
第五步:创建会话Session 。
        创建会话Session 是为了创建一个消息的发送者和发送内容类型。
代码:
QueueSession qSession = qConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
注:有两个参数,这里就不多说了,具体的使用可以去查一下,建意这样写。
第六步:创建一个列队来存储消息,是消息的存方的物理地址,前题是这个队列需要在weblogic里创建后。
        代码:
Queue queue = (Queue) ctx.lookup("testjms");
第七步:创建一个消息的发送者。代码:    
QueueSender qSender =  qSession.createSender(queue);
第八步:创建一个发送内容类型(Stream,byte,map,text,object)。代码:
TextMessage tesTextMessage= qSession.createTextMessage();//建立消息
qSession.createTextMessage();
第九步:打开连接,设置发送文本内容。代码:
qConnection.start();//开始连接
tesTextMessage.setText(" 哈哈 成功了");//设置发送内容
qSender.setDeliveryMode(DeliveryMode.PERSISTENT);//设置发送模型
qSender.send(tesTextMessage); //发送 
第十步:关才相关连接,释放资源。代码:
        if(qConnection != null){
qConnection.stop();
qConnection.close();
qConnection=null;
}


JMS 消息消费机 : 前六步与消息发送机一样,这里 就不多说了,查以参考一下。
    
第七步:创建 一个消息的接收者,获取消费消息。代码:
MessageConsumer comsumer = qSession.createConsumer(queue);
第八步:打开连接,接收消息。代码:
     qConnection.start();
     TextMessage textMessage =(TextMessage)comsumer.receive();
     String receiveString = textMessage.getText();
     System.out.println(receiveString);
第九步:关才相关连接,释放资源。代码:
        if(qConnection != null){
        qConnection.stop();
qConnection.close();
qConnection=null;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值