当前位置: 首页 > 知识库问答 >
问题:

EJB3.0的Servlet2.5注入,全部打包为WAR

匡凌
2023-03-14
public class SimpleServlet extends HttpServlet {

@EJB(mappedName="ejb/SimpleSessionBean")
private SimpleSessionRemote simpleSessionBean;
@Remote
public interface SimpleSessionRemote
{
    String getMessage();
}

SimpleSession Bean类(EJB)的代码片段:

@Stateless(name="SimpleSessionEJB", mappedName="ejb/SimpleSessionBean")
@Remote(SimpleSessionRemote.class) 
public class SimpleSession
{
...

EJB没有weblogic-ejb-jar.xml部署描述符,因此它是完全注释的EJB。

在管理控制台中部署WAR之后,在servlet中直接注入后,我得到了一个空引用。

http://docs.oracle.com/cd/e14571_01/web.1111/e14529/compatibility.htm

WebLogic Server 11g第1版(10.3.3)与JEE5兼容

因此,我们可以得出结论,我的练习的范围是演示在不支持EJB3.1规范的应用服务器上,在WAR中打包企业Bean是不可能的。

向你问好,皮尔路易吉·萨莱拉

共有1个答案

黄意智
2023-03-14

Servlet2.5意味着Java EE5。WAR中的EJB仅在Java EE6之后才得到支持。

您有两种选择:

  1. 升级到Java EE 6兼容容器
  2. 坚持Java EE5,创建EAR而不是WAR。EAR可以由EJB、JAR和WAR组成。
    null
 类似资料:
  • 问题内容: 使用Glassfish,我可以设置一个字符串jndi条目: 然后,我可以将此容器配置的字符串注入到我的EJB中: lookup =似乎在内部执行InitialContext.lookup(…)。但是,它使用ejb3.1,但是不幸的是,我的产品环境仅为ejb3.0。 我想我想找出一种方法可以使用@Resource(name =)或@Resource(mappedName =)做类似的事情

  • 看完前面的文档,你会发现使用 Blade 开发Web应用是简单的、快速的,当然也功归于约定。 我们使用 Maven 构建项目,打包同时也可以用它,如果你对 Maven 插件熟悉的话可能也用过了, 当然没用过也没关系,你只需要按照下面的操作配置一下即可。 打包工程 添加插件 <build> <finalName>hello</finalName> <plugins>

  • 打包 直接使用下面命令,就可以把vue项目打包: $ npm run build 如下: siwei@siwei-linux:/workspace/test_vue_0613$ npm run build > test_vue_0613@1.0.0 build /workspace/test_vue_0613 > node build/build.js ⠦ building for prod

  • 我有一个云实例,我已经安装了Jboss5.0.1GA服务器。服务器实例包含一个公共 IP 和一个 nat 地址。我已经使用带有IP(nat)地址的-b运行Jboss服务器,并且网址工作正常。现在我正在创建Java外部客户端来访问部署在Jboss服务器中的EJB3 bean,在那里我得到了例外,并使用谷歌尝试解决方案,这对我的情况没有帮助。找到下面的代码,它告诉我在外部客户端中使用什么来访问EJB3

  • 混淆打包 在项目的主工程目录的proguard-project.txt配置中加入如下设置: V3.2.3及后续版本: -dontwarn solid.ren.skinlibrary.** -keep class solid.ren.skinlibrary.** { *; } -keep interface solid.ren.skinlibrary.** { *; } -keep public c

  • 我正在遵循JEE基础教程,该教程提供了创建最小EJB部署的指导。 我已经完成了教程中的步骤,但对以下命令行调用进行了更改 >设置classpath=.;e:\wildfly-10.1.0\wildfly-10.1.0.final\bin\client\jboss-client.jar;(从教程中的长列表中更改) >JAR-CVF SimpleSessionApp.ear Beans*.java(将