【发布时间】:2016-11-07 19:25:42
【问题描述】:
我需要在 OpenEJB 中以“暂停”状态启动一个队列,以便在某些相关数据可用之前,消费者不会处理任何消息。我可以以编程方式暂停队列,如here 所示,因此如果在创建队列时调用了一些初始化函数,我可以使用该方法。队列配置documentation 似乎不支持设置暂停状态。有关如何在创建时配置队列的任何想法?
【问题讨论】:
标签: activemq apache-tomee openejb
我需要在 OpenEJB 中以“暂停”状态启动一个队列,以便在某些相关数据可用之前,消费者不会处理任何消息。我可以以编程方式暂停队列,如here 所示,因此如果在创建队列时调用了一些初始化函数,我可以使用该方法。队列配置documentation 似乎不支持设置暂停状态。有关如何在创建时配置队列的任何想法?
【问题讨论】:
标签: activemq apache-tomee openejb
如果您阅读链接的线程,您会看到队列没有暂停,但代理可以。
在 TomEE 中,代理是使用 spi 从工厂创建的(在 tomee 类加载器中,默认情况下是 tomee/lib),因此如果您准备好后以编程方式启动该选项,您可以自己编写。
现在我怀疑您不想启动与容器的连接器,但启动代理不是问题。否则您不想通过 JMS 连接到任何其他机器以收不到任何东西,但如果 JMS 已启动并部署它就可以了。
在这种情况下,您可以不在代理上配置任何连接器,并在准备好时添加它们。你可以找到经纪人在做:
new org.apache.openejb.resource.activemq.ActiveMQ5Factory().getBrokers()
【讨论】: