使用Arquillian部署JMS查询

时间:2015-03-03 11:52:00

标签: maven jms jboss-arquillian

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

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

好的,但我无法在任何地方找到HornetQDescriptor课程!我使用的是Arquillian 1.1.7.Final,ShrinkWrap Desriptors 2.0.0-Alpha-7和Maven。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

好的,我想我找到了一个技巧......

我向hornetq-jms.xml和我的arquillian jar添加了src/test/resources,它运行正常。就像那样:

@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>

它工作正常。不是我预期的方式,但无论如何它仍然有效=)

答案 1 :(得分:0)

您使用,嵌入或管理的服务器类型。 我正在尝试使用hornetq-jms.xml,但我使用的嵌入式服务器抛出了关于xmlns =“urn:jboss:messaging-deployment:1.0”的异常。

关于HornetQDescriptor,2011年的描述符api版本中有一些例子:Check this git hub location

至于Api的改变,例如:Descriptor Api org.jboss.shrinkwrap.descriptors»shrinkwrap-descriptors-api-javaee»2.0.0-alpha-9

api完全改变了,所以上面的代码恐怕不可用。

那么你能否告诉我你使用的服务器的更多细节,以及它是否嵌入你如何部署大黄蜂 - jms。 xml