最近在跟着尚学堂的视频学EJB3,因为之前没弄过JBOSS,而且EJB不能在TOMCAT下用,所以就下了个版本为jboss-5.0.0.CR2的服务器,没做过多的配置,只是加到了MYECLIPSE里面,现在在开发MDB时遇到一些问题
下面是报的错!
18:40:24,968 WARN  [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@1f0670(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@1b8935b destination=queue/myqueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
javax.naming.NameNotFoundException: myqueue not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:564)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:572)
at org.jnp.server.NamingServer.getObject(NamingServer.java:578)
at org.jnp.server.NamingServer.lookup(NamingServer.java:317)
at org.jnp.server.NamingServer.lookup(NamingServer.java:291)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:669)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jboss.util.naming.Util.lookup(Util.java:222)
at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:729)
at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
我在网上搜到似乎有人遇到和我一样的问题,但是可能因为JBOSS版本问题,我找半天都找不到那几个需要修改的文件!所以希望好心人帮帮忙,如果要重新下JBOSS,那么需要哪种版本?!具体该如何配置?!如果不用换版本,那么要修改哪些文件?!

解决方案 »

  1.   

    这个意思是说标识的destination的JNDI没有找到
    因此需要写一个配置文件来标识我的mdb的jndi
    起名为mymdb-service.xml并放于deploy目录下
    文件内容
    <?xml version="1.0" encoding="UTF-8"?>
    <server>
       <mbean code="org.jboss.mq.server.jmx.Queue"
          name="jboss.mq.destination:service=Queue,name=myDestination">
          <attribute name="JNDIName">queue/myqueue</attribute>
          <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
       </mbean>
         <mbean code="org.jboss.mq.server.jmx.Topic"
          name="jboss.mq.destination:service=Topic,name=myDestination">
          <attribute name="JNDIName">topic/mytopic</attribute>
          <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
       </mbean>
    </server>