从 servlet 注入 JBoss 5 AS 和 EJB3 bean?

发布于 2024-07-14 18:45:27 字数 266 浏览 5 评论 0原文

据我了解,JBossAS 5.x 支持使用 @EJB3 注释在 servlet 中注入 EJB3 bean。 我正在使用 JBossAS 5.0.1.GA 的默认配置,但它不起作用。 我已将mappedName 参数添加到带有会话bean JNDI 名称的@EJB 注释中,但它不执行任何操作。 没有明显的错误,只是从未注入 bean。

会话 bean 位于 ejb-jar 中,servlet 位于战争中,一切都打包在耳朵中。 手动 JNDI 查找工作得很好。 有任何想法吗?

It was my understanding that JBossAS 5.x supported EJB3 bean injection in servlets with the @EJB3 annotation. I'm using the default configuration for JBossAS 5.0.1.GA and it's not working. I've added the mappedName argument to the @EJB annotation with the session beans JNDI name, and it just doesn't do anything. No apparent errors, the bean is just never injected.

The session beans are in the ejb-jar, the servlets in a war, everything is packaged in an ear. Manual JNDI lookups work just fine. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪之魂 2024-07-21 18:45:27

如果您的 web.xml 指向旧版本的规范,则可能会发生这种情况。 理想情况下,它应该类似于

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
         xmlns="http://java.sun.com/xml/ns/j2ee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">

链接 也可能有一点帮助。

This may happen if your web.xml points to an older version of the spec. Ideally, it should be something like

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
         xmlns="http://java.sun.com/xml/ns/j2ee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">

This link may help a little too.

吻风 2024-07-21 18:45:27

您还应该检查 classpath.JAr 文件中 EJB3 部署所需的 jar 文件是否为 jboss-ejb3-ext-api.jar。

You should also check the jar file needed for EJB3 deployment in the classpath.JAr file is jboss-ejb3-ext-api.jar.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文