【问题标题】:Configure JMS queue destination through java code通过java代码配置JMS队列目的地
【发布时间】:2012-02-08 19:14:37
【问题描述】:

我想在我的应用程序中使用 JMS。但要求是我不能接触 JBoss,这意味着我必须通过 java 配置队列/主题目标。 因为我必须将目的地指定为:

Queue myQueue = (Queue) initialContext.lookup("destination");

我可以在 jBoss 的 -service.xml 中配置它,但我只需要通过 java 编码来完成。我该怎么做。 请建议。 谢谢。

【问题讨论】:

  • 这实际上是一个 HornetQ 的问题......
  • JMS 是一个规范,有很多实现。 JMS 本身不支持配置,需要使用实现特定的 API 来配置。
  • 对不起,我误解了这个问题。澄清一下,JMS 只是一个 JavaEE 规范(如 JDBC),而 HornetQ 是它的 JBoss 实现(在 JBoss AS 中运行)。无论如何,我认为您的问题与 HornetQ 无关。
  • 但是...如果您需要使用 HornetQ API 来执行此操作,它本身不支持动态队列。
  • @EvertonAgner:我只想要一个目的地,在我的 java 代码中。我怎么才能得到它。当我在 JBOSS AS 上运行我的项目时,它给出 javax.naming.NameNotFoundException: destinatione not bound

标签: java jboss jms


【解决方案1】:

取决于您的 jboss 版本,但您可以嵌入包含队列/主题的 hornetq-jms.xml,无需在服务器上进行配置。如果您正在查看 AS7,则需要进行配置。

【讨论】:

    【解决方案2】:

    您的示例代码行对先前创建的名为“destination”的队列执行 JNDI API 查找,并将其分配给 Queue 对象。因此,您应该在 JBoss 环境中配置该队列或使用默认的preconfigured destinations,但需要更改名称(并且不是可扩展的解决方案)。

    【讨论】:

    • JuanZe:我在我的 jboss 服务器中找不到预配置的目的地。我正在使用 jboss-eap5.1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 2013-05-24
    • 2011-04-30
    • 2016-06-20
    • 2016-05-24
    相关资源
    最近更新 更多