在 JBoss 6 中部署 Seam 应用程序时出现问题
我正在尝试在 JBoss 6 上部署一个简单的“hello world”Seam 应用程序,并且在日志中收到以下错误:
Deployment "jboss.ejb3:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam,service=EjbEncFactory" is in error due to the following reason(s): Described
Deployment "org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/TimerServiceDispatcher" is in error due to the following reason(s): ** NOT FOUND Depends on 'org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/TimerServiceDispatcher' **
Deployment "jboss.naming:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.naming:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam' **
Deployment "org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/EjbSynchronizations" is in error due to the following reason(s): ** NOT FOUND Depends on 'org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/EjbSynchronizations' **
Deployment "jboss.ejb3:application=helloworld,component=EjbSynchronizations,module=jboss-seam,service=EjbEncFactory" is in error due to the following reason(s): Described
Deployment "jboss.naming:application=helloworld,component=EjbSynchronizations,module=jboss-seam" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.naming:application=helloworld,component=EjbSynchronizations,module=jboss-seam' **
显然,部署过程找不到 TimerServiceDispatcher 和 EjbSynchronizations ,但我在 web.xml
中注册了它们:
<ejb-local-ref>
<ejb-ref-name>helloworld/EjbSynchronizations/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
<ejb-link>EjbSynchronizations</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>helloworld/TimerServiceDispatcher/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>org.jboss.seam.async.LocalTimerServiceDispatcher</local>
<ejb-link>TimerServiceDispatcher</ejb-link>
</ejb-local-ref>
我做错了什么,或者我错过了什么?并注意部署者正在 /helloworld/jboss-seam/TimerServiceDispatcher
中查找组件,而不是在 /helloworld/TimerServiceDispatcher
中(与 EjbSynchronizations
相同)代码>)
I'm trying to deploy a simple "hello world" Seam application on JBoss 6, and I'm getting these errors on the log:
Deployment "jboss.ejb3:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam,service=EjbEncFactory" is in error due to the following reason(s): Described
Deployment "org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/TimerServiceDispatcher" is in error due to the following reason(s): ** NOT FOUND Depends on 'org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/TimerServiceDispatcher' **
Deployment "jboss.naming:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.naming:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam' **
Deployment "org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/EjbSynchronizations" is in error due to the following reason(s): ** NOT FOUND Depends on 'org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/EjbSynchronizations' **
Deployment "jboss.ejb3:application=helloworld,component=EjbSynchronizations,module=jboss-seam,service=EjbEncFactory" is in error due to the following reason(s): Described
Deployment "jboss.naming:application=helloworld,component=EjbSynchronizations,module=jboss-seam" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.naming:application=helloworld,component=EjbSynchronizations,module=jboss-seam' **
Evidently the deployment process can't find TimerServiceDispatcher
and EjbSynchronizations
, but I registered them in web.xml
:
<ejb-local-ref>
<ejb-ref-name>helloworld/EjbSynchronizations/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
<ejb-link>EjbSynchronizations</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>helloworld/TimerServiceDispatcher/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>org.jboss.seam.async.LocalTimerServiceDispatcher</local>
<ejb-link>TimerServiceDispatcher</ejb-link>
</ejb-local-ref>
What am I doing wrong, or what am I missing? and notice that the deployer is looking for the components in /helloworld/jboss-seam/TimerServiceDispatcher
and not in /helloworld/TimerServiceDispatcher
(same thing with EjbSynchronizations
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
找到解决办法了,是包装的问题。
jboss-seam.jar
库位于项目的.ear
文件内的 lib 目录中;这在 JBoss 6 中不再有效,因为该文件现在必须驻留在.ear
内的根级别。另外,application.xml
中jboss-seam.jar
的位置也必须相应调整。Found the solution, it was a problem with the packaging. The
jboss-seam.jar
library was in the lib directory inside the.ear
file of the project; this no longer works in JBoss 6, as that file must now reside at the root level inside the.ear
. Also, the location ofjboss-seam.jar
inapplication.xml
must be adjusted accordingly.