【问题标题】:Migrating JMS Queue from Hypersonic to MSSQL将 JMS 队列从 Hypersonic 迁移到 MSSQL
【发布时间】:2013-10-03 01:02:10
【问题描述】:

我目前正在尝试在 JBoss AS 5.1.0GA 中用 MS-SQL 2008 R2 替换 Hypersonic。

我已按照 JBoss 服务器配置指南中的说明进行操作,但是服务器无法加载并出现此错误:

2013-09-26 17:06:04,479 WARN [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2)-3) jms 激活失败 org.jboss.resource.adapter.jms .inflow.JmsActivationSpec@8bb1eb(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@c54851 目的地=queue/iam/im/jms/queue/wpUtilQueue destinationType=javax.jms.Queue tx=true 持久=false reconnect= 10 provider=DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=30000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=10 ) javax.naming.NameNotFoundException: DLQ 未绑定

(为简洁起见,我省略了堆栈跟踪;这并不重要。) 我查过了,DLQ是在destinations-service.xml中定义的

我不知道从这里开始;我在 Google 上找到的每一个回复似乎都表明,在destinations-service.xml 中定义队列已经解决了几乎所有人的问题。

任何帮助将不胜感激。

【问题讨论】:

  • “死信队列”可能是持久的,存储可能是Hypersonic。你使用 JMS 吗?您想使用 MS SQL 以供 JMS 使用吗?否则我建议将 Hypersonic 保留在 JBoss 中。
  • 是的,我正在使用 JMS,是的,我希望 JMS 使用 MS SQL。不建议在生产环境中使用 Hypersonic。

标签: jboss jms


【解决方案1】:

事实证明,配置指南中的说明并非 100% 完整。问题是在 mssql-persistence-service.xml 中引用了 ChannelFactory;但是,这个环境不是集群的,因此没有定义 ChannelFactory 对象。

删除对 ChannelFactory 的引用足以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-22
    • 2014-09-03
    • 1970-01-01
    • 2012-09-14
    • 2011-11-15
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多