簡體   English   中英

缺少Wildfly 8.2.0 JMS主題

[英]Wildfly 8.2.0 JMS Topic is missing

我用Wildfly 8.2.0 Final建立了一個web應用程序。 我現在正在嘗試創建一個jms主題,並通過2個bean發送和接收一些消息。

Bean 1是我的發件人/發布者:

@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適配器似乎存在問題,該適配器在我的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中完成的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM