TomEE查找错误

时间:2011-12-11 21:49:05

标签: web-services java-ee jndi openejb apache-tomee

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

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

两个版本之间的一个区别是,在TomEE Web配置文件中,当我访问openejb webapp时,我会看到所有Remote对象。但是我没有看到它们带有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)

1 个答案:

答案 0 :(得分:2)

如果从OpenEJB / Tomcat安装迁移,TomEE Plus绝对是正确的发行版。它们在功能上完全匹配,但堆栈现在支持完整的EJB 3.1,JAP 2.0和JAX-RS。 TomEE的Web Profile版本相当精简,缺少WebServices,JMS和任何非WebProfile要求。这是一个简短的comparison of APIs supported

这看起来像是在1月发布的TomEE 1.0.0-beta-2修复的错误。如果你可以尝试一下,那就太棒了。我们绝对希望确保在1.0.0 GA之前清除您可能遇到的任何问题。