2015-11-19 5 views
1

Следующий класс развернут в JBoss 9.02 финала, но введенные поля равны нулю:Wildfly 9 JMS инъекции не происходит

@ApplicationScoped 
public class JMSEventPublisher implements IEventPublisherClient { 

    @Inject 
    private JMSContext context; 

    @Resource (mappedName = "java:/jms/queue/Events") 
    private Queue syncQueue; 

Я попытался с помощью @Stateless вместо @ApplicationScoped, и я попытался с помощью lookup вместо mappedName, но поля контекста и syncQueue никогда не инъецируются (поэтому я получаю исключения с исключительным указателем при попытке отправить сообщение JMS).

В журнале JBoss нет сообщений об ошибке при запуске войны. При запуске JBoss, вот JMS связанные выход, где мы можем увидеть, что названная очередь, кажется, начала без каких-либо сообщение об ошибке:

10:41:59,972 INFO [org.hornetq.core.server] (ServerService Thread Pool -- 64) HQ221001: HornetQ Server version 2.4.7.Final (2.4.7.Final, 12 
4) [34da3fdf-8dba-11e5-9213-51bb5b0e6fe5] 
10:42:00,399 INFO [org.jboss.as.messaging] (ServerService Thread Pool -- 64) WFLYMSG0002: Bound messaging object to jndi name java:jboss/ex 
ported/jms/RemoteConnectionFactory 
10:42:00,459 INFO [org.hornetq.core.server] (ServerService Thread Pool -- 68) HQ221003: trying to deploy queue jms.queue.DLQ 
10:42:00,471 INFO [org.jboss.as.messaging] (ServerService Thread Pool -- 69) WFLYMSG0002: Bound messaging object to jndi name java:/Connect 
ionFactory 
10:42:00,472 INFO [org.hornetq.core.server] (ServerService Thread Pool -- 67) HQ221003: trying to deploy queue jms.queue.Events 
10:42:00,476 INFO [org.hornetq.core.server] (ServerService Thread Pool -- 66) HQ221003: trying to deploy queue jms.queue.ExpiryQueue 
10:42:00,550 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-3) WFLYJCA0007: Registered connection factory java:/JmsXA 
10:42:00,633 INFO [org.hornetq.ra] (MSC service thread 1-3) HornetQ resource adaptor started 
10:42:00,642 INFO [org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService$ResourceAdapterActivator] (MSC service 
thread 1-3) IJ020002: Deployed: file://RaActivatorhornetq-ra 
10:42:00,647 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-3) WFLYJCA0002: Bound JCA ConnectionFactory [java:/JmsXA] 
10:42:00,648 INFO [org.jboss.as.messaging] (MSC service thread 1-3) WFLYMSG0002: Bound messaging object to jndi name java:jboss/DefaultJMSC 
onnectionFactory 

Любая идея, почему это инъекции не происходит?

+1

Как вы можете получить ссылку на этот класс? –

+0

Как выглядит папка lib с развертыванием? – ctomc

ответ

0

Kudos to @John Ament, который задал правильный вопрос. Я обнаружил, что в моем классе фабрики ссылка была создана new, поэтому WELD не делал инъекции. Проблема решена.

я удалил new JMSEventPublisher() и вместо этого добавил @Inject на поле в классе фабрики (и BTW, моя рабочая версия JMSEventPublisher использует lookup вместо mappedName для поиска ресурсов для syncQueue).

Смежные вопросы