首页 > 解决方案 > 使用 Thorntail 映射 JMS JNDI 条目

问题描述

我需要使用 Thorntail 映射我目前在 WildFly 中运行的以下 JMS 配置:

 <jms-queue name="ExampleQueue" entries="queue/exampleQueue java:/jboss/exported/jms/queue/exampleQueue"/>

我还没有找到任何定义“条目”的示例,但远程 JMS 客户端需要它。所以我想出了这个配置,但是它不起作用:

thorntail:
  management:
    security-realms:
      ApplicationRealm:
        in-memory-authentication:
          users:
            bob:
              password: Password1!
        in-memory-authorization:
          users:
            jmsuser:
              roles:
              - guest  
  messaging-activemq:
    servers:
      default:
        jms-queues:
          exampleQueue: {}
            entries: queue/exampleQueue java:/jboss/exported/jms/queue/exampleQueue

什么导致:

Caused by: java.lang.RuntimeException: while parsing a block mapping
 in 'reader', line 18, column 11:
              exampleQueue: {}
              ^
expected <block end>, but found BlockMappingStart
 in 'reader', line 19, column 13:
                entries: queue/exampleQueue java ... 

我有点失落。你能帮我修一下吗?谢谢!

标签: thorntail

解决方案


几乎是正确的。您需要的是(仅显示消息部分):

messaging-activemq:
  servers:
    default:
      jms-queues:
        exampleQueue:
          entries:
          - queue/exampleQueue
          - java:/jboss/exported/jms/queue/exampleQueue

(我认为queue/exampleQueue也许应该是jms/queue/exampleQueue,但不完全确定。)

对于一个完整的工作示例,您可以查看例如https://github.com/rhoar-qe/thorntail-test-suite/tree/master/javaee/messaging-remote


推荐阅读