使用 Arquillian 部署 JMS 查询

Deploy JMS Query using Arquillian

我正在使用 arquilian 来测试 JMS 查询。我已经看到我能够使用 Descriptors class 部署描述符,如下所示:

@Deployment
 public static Descriptor create() {
      return Descriptors.create(HornetQDescriptor.class);
 }

好的,但是我在任何地方都找不到 HornetQDescriptor class!我正在使用 Arquillian 1.1.7.Final、ShrinkWrap Desriptors 2.0.0-Alpha-7 和 Maven。有帮助吗?

好的,我想我找到了一个窍门...

我在 src/test/resources 和我的 arquillian jar 中添加了一个 hornetq-jms.xml,它运行良好。是这样的:

@Deployment
public static JavaArchive createTestArchive() {
    return ShrinkWrap.create(JavaArchive.class, "test.jar")
        .addAsManifestResource("hornetq-jms.xml")
        .addAsManifestResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"));
}

和一个默认的 hornetq xml:

<messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0">
    <hornetq-server>
        <jms-destinations>
            <jms-queue name="myQueue">
                <entry name="/queue/myQueue"/>
            </jms-queue>
        </jms-destinations>
    </hornetq-server>
</messaging-deployment>

而且效果很好。不是我预期的方式,但它仍然有效 =)

您使用的是哪种服务器,嵌入式还是托管。 我正在尝试使用 hornetq-jms.xml 但我使用的嵌入式服务器抛出关于 xmlns="urn:jboss:messaging-deployment:1.0" 的异常。

关于 HornetQDescriptor,有来自 2011 年版描述符的示例 api:Check this git hub location

到目前为止 Api 已更改,例如:描述符 Api org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-javaee » 2.0.0-alpha-9

api 已完全更改,所以上面的代码恐怕无法使用。

所以你能告诉我你使用了什么服务器的更多细节吗?如果它是嵌入式的,你是如何成功部署大黄蜂 - jms 的。 xml