gpt4 book ai didi

jsf - 注入(inject)无状态 EJB 和 JSF 托管 bean 会导致 WAS 8.5 中出现 Null Pointer ex

转载 作者:行者123 更新时间:2023-12-05 00:25:26 25 4
gpt4 key购买 nike

使用 JSF 2.x mojarra 实现(2.0 和 2.1 测试)的 Java EE 6 项目,其中 session bean 通过 @EJB 注释注入(inject) JSF 托管 bean 在 Websphere Application Server 8.5 中失败,而它在 Glassfish 3.x 上运行(在 GF 上测试3.0 和 3.1),因为它是:

编码方法如下:

SomeEJBFacade.java

@Stateless
public class SomeEJBFacade() {

public String testMethod() {
return "testing 1 2 3";
}

}

测试 bean
@ManagedBean
@ViewScoped
public class TestBean implements java.io.Serializable {
@EJB SomeEJBFacade facade;

public String getTestStr() {
return facade.testMethod();
}
}

JSF facelet 片段:
<h:outputText value="#{testBean.testStr}" />

以上导致 空指针异常 来自 TestBean 的 testStr() 方法。

同样,任何 JPA 事务方法都会在
类似的点。

最佳答案

问题是 GlassFishs 和 WebSpheres 类加载器确实以不同的方式工作。您必须将 ejb 模块添加为 Web 项目 META-INF/MANIFEST.MF 中的依赖项:

Class-Path: EnappDaemonEJB.jar

其中“EnappDaemonEJB.jar”是生成的 jar/EJB 工件的名称——或者换句话说,我的 EJB 项目的名称是“EnappDaemonEJB”。

链接: WebSphere Infocenter - see Procedure point 2

关于jsf - 注入(inject)无状态 EJB 和 JSF 托管 bean 会导致 WAS 8.5 中出现 Null Pointer ex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13970134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com