java临时字段,java – 如何创建临时jms队列并通过名称连接到它?

本文介绍了如何在Java中创建并使用临时队列进行消息传递。通过JNDI查找绑定的临时队列,使得其他线程能够获取并使用该队列,无需直接通过setJMSReplyTo方法传递。这种方法确保了线程间通信的可靠性。
摘要由CSDN通过智能技术生成

我需要为响应创建一个临时队列,但我需要知道是否可以连接到临时队列而不通过setJMSReplyTo消息方法发送响应队列对象,因为回复线程根本没有获得该对象.

解决方法:

我通过使用InitialContext对象将我的临时队列绑定到jndi,以便我可以从需要使用我的临时队列的线程中查找我的临时队列.

jndiContext = new InitialContext();

connectionFactory = (QueueConnectionFactory) jndiContext.lookup("ConnectionFactory");

connection = connectionFactory.createConnection();

connection.start();

session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

temporaryQueue = session.createTemporaryQueue();

jndiContext.bind(queueJndiName, temporaryQueue);

destination = temporaryQueue;

responseConsumer = session.createConsumer(destination);

responseConsumer.setMessageListener(new MyListener());

要获得临时队列,您只需在需要使用它的代码中查找它:

Context jndiContext = new InitialContext();

queueConnectionFactory = (QueueConnectionFactory) jndiContext.lookup("ConnectionFactory");

queue = (Queue) jndiContext.lookup(youTemporaryQueueName);

标签:java,jms,queue

来源: https://codeday.me/bug/20191002/1840936.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值