2011-12-11 80 views
2

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

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

这两个版本之间的一个区别是,在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) 

回答

2

TomEE加绝对是如果从OpenEJB的/ Tomcat的安装迁移使用权发行。它们的特性与堆栈现在支持完整的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修正的bug。如果你可以试试看,那会很棒。我们绝对希望确保您可能面临的任何问题在1.0.0 GA之前得到解决。