2

我有一个在单独安装中使用 tomcat 和 openejb 的 WebApp。我正在尝试将其移至 TomEE(网络配置文件/plus)环境,但我遇到了查找错误。JNDIContext 正在抛出 java.lang.NullPointerException。

我首先尝试使用 TomEE 网络配置文件。我的网络应用程序也使用网络服务,谷歌搜索引导我尝试 TomEE plus,因为网络配置文件不支持网络服务。这个版本也没有运气。

两个版本之间的一个区别是,在 TomEE Web 配置文件中,当我访问 openejb Web 应用程序时,我会看到所有远程对象。但是我没有看到它们带有 TomEE plus 版本。

http://localhost:8080/openejb/viewjndi.jsp

关于我如何解决这个问题的任何建议?我猜这是配置问题,我不知道是哪一个。

这是完整的堆栈跟踪:

java.lang.NullPointerException
    org.apache.openejb.client.JNDIContext.createBusinessObject(JNDIContext.java:203)
    org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:247)
    javax.naming.InitialContext.lookup(InitialContext.java:392)
    org.bluebox.customer.client.CustomerConnection.getCustomerAccountRemote(CustomerConnection.java:67)
    org.bluebox.customer.client.CustomerLogin.prepare(CustomerLogin.java:65)
    com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:167)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
4

1 回答 1

2

如果从 OpenEJB/Tomcat 安装迁移,TomEE Plus 绝对是正确的发行版。它们在功能上完全匹配,不同之处在于堆栈现在支持完整的 EJB 3.1、JAP 2.0 和 JAX-RS。TomEE 的 Web Profile 版本相当精简,缺少 WebServices、JMS 和任何非 WebProfile 要求。以下是支持的 API 的简要比较

这看起来像是在一月份发布的 TomEE 1.0.0-beta-2 中修复的错误。如果你能试一试,那就太好了。我们绝对希望确保在 1.0.0 GA 之前解决您可能面临的任何问题。

于 2012-02-08T21:09:58.520 回答