使用消息Bean在重新启动JBoss后报错

当发布我的应用到 JBoss 5 ,将对应的xxx-servlet.xml放到deplay目录下,然后将对应的jar包也放到deplay目录下,发布正常

但是重新启动JBoss时出现下面 错误

 

17 : 11 : 29 , 151  INFO  [EJBContainer] STARTED EJB: .....
17 : 11 : 29 , 266  INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
..
..
17 : 11 : 29 , 928  WARN  [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@11694c ...
javax.naming.NameNotFoundException: ... not bound
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:
771 )
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:
779 )
    at org.jnp.server.NamingServer.getObject(NamingServer.java:
785 )
    at org.jnp.server.NamingServer.lookup(NamingServer.java:
443 )
    at org.jnp.server.NamingServer.lookup(NamingServer.java:
399 )
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:
722 )
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:
682 )
    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:
213 )
    at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:
260 )
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:
886 )
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
908 ) 

    at java.lang.Thread.run(Thread.java: 619)

     分析得JBOSS在读xxx-servlet.xml产生队列之前就去使用队列,所以报错

解决办法:

在消息Bean中增加以下注解,让消息Bean依赖于 XxxxTopic队列,在队列产生之后才创建消息Bean

@Depends({"jboss.messaging.destination:service=Topic,name=XxxxTopic"}) 

参考地址http://stackoverflow.com/questions/679087/how-to-configure-startup-sequence-of-jboss-services-jmsactivation 

转载于:https://www.cnblogs.com/lsun/archive/2011/05/24/2055735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值