【发布时间】:2015-06-22 18:49:12
【问题描述】:
我正在尝试构建一个基本的生产者消费者应用程序。我有三个用于消息处理的队列,并且可以有多个生产者和消费者。我在这里面临的基本问题是我应该什么时候调用
connection.start()
我正在使用的 javax.jms.QueueConnection 的方法。在线列出的所有示例(例如:-https://github.com/hornetq/hornetq/blob/master/examples/jms/jmx/src/main/java/org/hornetq/jms/example/JMXExample.java)
表明在我们在目的地上产生了一条消息之后,在我们启动了一个消费者之后,我们是否应该启动连接。即connection.start() 通常是最后要做的事情。我是否可以在创建连接时开始连接?比如这样的
Properties jndiProps = new Properties();
jndiProps.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
jndiProps.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
jndiProps.put("java.naming.provider.url", "localhost:1099");
context = new InitialContext(jndiProps);
QueueConnectionFactory factory = (QueueConnectionFactory) context.lookup("/ConnectionFactory");
connection = factory.createQueueConnection();
connection.start();
【问题讨论】:
标签: java jms producer-consumer hornetq