我使用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。有什么帮助吗?
答案 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