Я создал веб-приложение с Wildfly 8.2.0 Final. Im теперь пытается создать тему jms и отправлять и получать сообщения через 2 боба.Wildfly 8.2.0 JMS Тема отсутствует
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>
Кто-нибудь теперь, что им делать неправильно?
, к сожалению, разве работает в моем случае, но ТНХ все равно ;) может быть, другой вопрос: знаете ли вы, почему вы не могли создавать темы в своем коде? –
Что не работает? Для запуска команд необходимо запустить сервер. В общем, вы не можете создать тему в коде - для этого нет стандартных API. – stdunbar