尝试创建JMX消息时发生NameNotFoundException

尝试创建JMX消息时发生NameNotFoundException,jmx,wildfly-8,Jmx,Wildfly 8,我有一个singleton类,它有一个JMXContext和一个队列注入其中 @Singleton @Startup @SuppressWarnings("unused") public class MyTask extends Thread { @Inject private JMSContext mJmsContext; @Resource(lookup = "java:/queue/InjectionQueue") private Queue mJmsQ

我有一个singleton类,它有一个JMXContext和一个队列注入其中

@Singleton
@Startup
@SuppressWarnings("unused")
public class MyTask extends Thread {

    @Inject
    private JMSContext mJmsContext;

    @Resource(lookup = "java:/queue/InjectionQueue")
    private Queue mJmsQueue;
.
.
.
在post-construct方法中,该类生成一个线程以列出消息 从(ZeroMQ)套接字:

我们希望创建一条JMX消息,并将其传递给MDB,以使用此新数据更新数据库。但是,在成功解码从套接字接收到的消息后,当我尝试创建JMX消息时,出现以下异常:

 javax.naming.NameNotFoundException: java:comp/TransactionSynchronizationRegistry
    at org.jboss.as.messaging.deployment.JMSContextProducer$JMSContextWrapper.getDelegate(JMSContextProducer.java:217) [wildfly-messaging-8.2.0.Final.jar:8.2.0.Final]
    at org.jboss.as.messaging.deployment.JMSContextProducer$JMSContextWrapper.createMapMessage(JMSContextProducer.java:300) [wildfly-messaging-8.2.0.Final.jar:8.2.0.Final]
    at org.dobbo.cloud.MyTask.received(MyTask.java:170) [cloud-ejb.jar:]
    at org.dobbo.cloud.MyTask.received(MyTask.java:138) [cloud-ejb.jar:]
    at org.dobbo.cloud.MyTask.received(MyTask.java:128) [cloud-ejb.jar:]
    at org.dobbo.cloud.MyTask.run(MyTask.java:107) [galaxy-cloud-ejb.jar:]
Caused by: javax.naming.NameNotFoundException: java:comp/TransactionSynchronizationRegistry
    at org.jboss.as.naming.InitialContext$DefaultInitialContext.findContext(InitialContext.java:187)
    at org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:231)
    at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:188)
    at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:184)
    at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45]
    at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45]
    at org.jboss.as.messaging.deployment.JMSContextProducer$JMSContextWrapper.getDelegate(JMSContextProducer.java:199) [wildfly-messaging-8.2.0.Final.jar:8.2.0.Final]
    ... 5 more
在以下代码行中:

final MapMessage msg = mJmsContext.createMapMessage();

一如既往,非常感谢您提供的帮助。

为什么您的singleton类需要扩展
线程
?同样的问题,没有线程扩展。顺便说一句,CDI对其他人有效。
final MapMessage msg = mJmsContext.createMapMessage();