Ошибки поиска TomEE

У меня есть WebApp, который использует tomcat и openejb в отдельных установках. Я пытаюсь переместить это в среду TomEE (веб-профиль / плюс), и я сталкиваюсь с ошибками поиска. JNDIContext генерирует исключение java.lang.NullPointerException.

Сначала я попробовал с веб-профилем TomEE. Мое веб-приложение также использует веб-службы, и поиск в Google заставил меня попробовать TomEE plus, потому что веб-профиль не поддерживает веб-службы. С этой версией тоже не повезло.

Одно различие между двумя версиями заключается в том, что в веб-профиле TomEE я вижу все удаленные объекты при доступе к веб-приложению openejb. Однако я не вижу их с версией 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)

person user977505    schedule 11.12.2011    source источник


Ответы (1)


TomEE Plus определенно является правильным дистрибутивом для перехода с установки OpenEJB/Tomcat. Они идентичны по функциям с той разницей, что стек теперь поддерживает полноценные EJB 3.1, JAP 2.0 и JAX-RS. Версия TomEE с веб-профилем немного компактнее, в ней отсутствуют веб-сервисы, JMS и другие требования, отличные от веб-профилей. Вот краткое сравнение поддерживаемых API.

Это похоже на ошибку, исправленную в версии TomEE 1.0.0-beta-2, выпущенной в январе. Если вы можете попробовать, это было бы замечательно. Мы обязательно хотим убедиться, что любые проблемы, с которыми вы можете столкнуться, будут устранены до 1.0.0 GA.

person David Blevins    schedule 08.02.2012