Java 缺少Wildfly 8.2.0 JMS主题
我已经用Wildfly 8.2.0 Final设置了一个Web应用程序。我现在正试图创建一个jms主题,并通过2bean发送和接收一些消息 Bean 1是我的发件人/发布者:Java 缺少Wildfly 8.2.0 JMS主题,java,jms,wildfly,hornetq,Java,Jms,Wildfly,Hornetq,我已经用Wildfly 8.2.0 Final设置了一个Web应用程序。我现在正试图创建一个jms主题,并通过2bean发送和接收一些消息 Bean 1是我的发件人/发布者: @Stateless public class ChatPublisherBean implements ChatPublisherLocal, ChatPublisherRemote { @JMSConnectionFactory("java:/ConnectionFactory") private Connecti
@Stateless
public class ChatPublisherBean implements ChatPublisherLocal, ChatPublisherRemote {
@JMSConnectionFactory("java:/ConnectionFactory")
private ConnectionFactory connectionFactory;
@Resource(lookup = "java:global/jms/ChatRoomTopic")
private Topic topic;
//more code ...
Bean 2我的接收者/消费者:
@MessageDriven(mappedName = "java:global/jms/ChatRoomTopic",
messageListenerInterface = MessageListener.class,
activationConfig = {
@ActivationConfigProperty(
propertyName = "destinationType",
propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(
propertyName = "destination",
propertyValue = "java:global/jms/ChatRoomTopic")})
public class ChatReceiverBean implements MessageListener, ChatReceiverLocal, ChatReceiverRemote {
@Inject
private ChatServiceLocal chatService;
@Inject
private ChatPublisherBean jmsConnectionBean;
//more code
正如您所看到的,我使用了jms 2.0的自动资源生成(或者至少我尝试过),它与ConnectionFactory配合得很好,因为我在那里使用了标准工厂
现在的问题是,当我尝试部署它时,我的主题没有正确找到。
Wildfly给了我这个错误:
19:03:38,187 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "app.ear")]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
"jboss.deployment.subunit.\"app.ear\".\"core-ejb.jar\".component.ChatReceiverBean.CREATE is missing [jboss.ra.hornetq-ra]",
"jboss.naming.context.java.comp.app.core-ejb.ChatPublisherBean.env.\"de.app.platform.chat.services.jms.ChatPublisherBean\".topic is missing [jboss.naming.context.java.global.jms.ChatRoomTopic]"
]}
19:03:38,188 ERROR [org.jboss.as.server] (management-handler-thread - 2) JBAS015870: Deploy of deployment "app.ear" was rolled back with the following failure message:
{"JBAS014771: Services with missing/unavailable dependencies" => [
"jboss.deployment.subunit.\"app.ear\".\"core-ejb.jar\".component.ChatReceiverBean.CREATE is missing [jboss.ra.hornetq-ra]",
"jboss.naming.context.java.comp.app.core-ejb.ChatPublisherBean.env.\"de.app.platform.chat.services.jms.ChatPublisherBean\".topic is missing [jboss.naming.context.java.global.jms.ChatRoomTopic]"
此外,hornetq适配器似乎也有问题,它在my standalone.xml中声明为标准:
<mdb>
<resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:hornetq-ra}"/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>
现在有人知道我做错了什么吗?我总是在代码之外创建主题。我有一个小脚本,我运行,让他们设置。相关部分类似于:
$WILDFLY_HOME/bin/jboss-cli.sh --connect --command="jms-topic add --topic-address=ChatRoomTopic --entries=java:/jms/ChatRoomTopic
稍后,如果要删除它,请执行以下操作:
$WILDFLY_HOME/bin/jboss-cli.sh --connect --command="jms-topic remove --topic-address=ChatRoomTopic
这是在Wildfly 8.2中完成的,我总是在代码之外创建主题。我有一个小脚本,我运行,让他们设置。相关部分类似于:
$WILDFLY_HOME/bin/jboss-cli.sh --connect --command="jms-topic add --topic-address=ChatRoomTopic --entries=java:/jms/ChatRoomTopic
稍后,如果要删除它,请执行以下操作:
$WILDFLY_HOME/bin/jboss-cli.sh --connect --command="jms-topic remove --topic-address=ChatRoomTopic
这是在Wildfly 8.2中完成的不幸的是,这在我的情况下不起作用,但无论如何,thx;)也许还有一个问题:你知道为什么你不能在代码中创建主题吗?什么不起作用?服务器必须运行才能运行命令。一般来说,您不能在代码中创建主题-没有标准的API可以做到这一点也许还有一个问题:你知道为什么你不能在代码中创建主题吗?什么不起作用?服务器必须运行才能运行命令。一般来说,您不能在代码中创建主题-没有标准API可以做到这一点。