Я пытаюсь развернуть приложение в Websphere 8.5, приложение развертывается правильно, но при попытке возразить UserTransaction из EJBContext я получаю исключение.
This is my code:
@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
@TransactionAttribute(TransactionAttributeType.SUPPORTS)
public class FooManagerBean implements FooManager {
@Resource
private EJBContext context;
public FooManagerBean() {
}
//other methods
/**
* {@inheritDoc}
*/
@Override
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public FooResponseDTO fooMethod(FooRequestDTO fooRequest) throws Exception {
final UserTransaction userTx = context.getUserTransaction(); <- EXCEPTION!
//other code & return
return ...;
}
А это мой журнал:
[24/08/18 17: 05: 41: 595 CEST] 000000b0 BusinessExcep E CNTR0020E: EJB
не генеральный, но исключительный (не декларативный)
метод "fooMethod" ан эль бин
Msgstr "BeanId (xxxxxxx # xxxxx.jar # FooManagerBean, null)". Датос де ла
excepción: java.lang.IllegalStateException at
com.ibm.ejs.container.CMStatelessBeanO.getUserTransaction (CMStatelessBeanO.java:79)
в com.xxx ..... xxx.FooManagerBean.fooMethod (FooManagerBean.java:83)
в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:60)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:37)
в java.lang.reflect.Method.invoke (Method.java:611) в
com.ibm.ejs.container.EJSContainer.invokeProceed (EJSContainer.java:5730)
в
com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed (InvocationContextImpl.java:568)
в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:60)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:37)
в java.lang.reflect.Method.invoke (Method.java:611) в
com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor (InterceptorProxy.java:227)
в
com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed (InvocationContextImpl.java:548)
в
com.ibm.ejs.container.interceptors.InvocationContextImpl.doAroundInvoke (InvocationContextImpl.java:229)
на com.ibm.ejs.container.EJSContainer.invoke (EJSContainer.java:5621)
в
com.xxx ..... xxx.EJSLocal0SLFooManagerBean_7ca28fb0.fooMethod (EJSLocal0SLFooManagerBean_7ca28fb0.java)
в com.xxx ..... xxx..FooService.fooMethod (FooService.java:37) в
sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:60)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:37)
в java.lang.reflect.Method.invoke (Method.java:611) в
com.sun.jersey.spi.container.JavaMethodInvokerFactory $ 1.invoke (JavaMethodInvokerFactory.java:60)
в
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider $ ResponseOutInvoker._dispatch (AbstractResourceMethodDispatchProvider.java:205)
в
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch (ResourceJavaMethodDispatcher.java:75)
в
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept (HttpMethodRule.java:288)
в
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept (RightHandPathRule.java:147)
в
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept (ResourceClassRule.java:108)
в
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept (RightHandPathRule.java:147)
в
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept (RootResourceClassesRule.java:84)
в
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest (WebApplicationImpl.java:1469)
в
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest (WebApplicationImpl.java:1400)
в
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest (WebApplicationImpl.java:1349)
в
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest (WebApplicationImpl.java:1339)
в
com.sun.jersey.spi.container.servlet.WebComponent.service (WebComponent.java:416)
в
com.sun.jersey.spi.container.servlet.ServletContainer.service (ServletContainer.java:537)
в
сom.sun.jersey.spi.container.servlet.ServletContainer.service (ServletContainer.java:708) в javax.servlet.http.HttpServlet.service (HttpServlet.java:668) в com.ibm.ws.webcontainer.servlet.ServletWrapper.service (ServletWrapper.java:1227) в com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:776) в com.ibm.ws.webcontainer.servlet.ServletWrapper.handjRequ458) по адресу com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest (ServletWrapperImpl.java:178) по адресу com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget (WebAppFilib.in.in)..webcontainer.filter.WebAppFilterChain.doFilter (WebAppFilterChain.java:97) при org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:76) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter (FilterInstanceWrapper.java: 195) на com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter (WebAppFilterChain.java:91) на com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter (WebAppFilterManager.java:928) на com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters (WebAppFilterManager.java:1025) в com.ibm.wppAweJava: 3761) на com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest (WebGroup.java:304) на com.ibm.ws.webcontainer.WebContainer.handleRequest (WebContainer.java:976) на com.ibm.ws.webcontainer.WSWebContainer.handleRequest (WSWebContainer.java:1662) на com.ibm.ws.webcontainer.channel.WCChannelLink.ready (WCChannelLink.java:200) на com.ibm.ws.http.channel.inbound.impl.Htp.handleDiscrimination (HttpInboundLink.java:459) на com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest (HttpInboundLink.java:526) на com.ibm.ws.http.channel.inbound.implinktt..processRequest (HttpInboundLink.java:312) на com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready (HttpInboundLink.java:283) на com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCall«.java: 175) на com.ibm.io.async.AbstractAsyncFuture.invokeCallback (AbstractAsyncFuture.java:217) на com.ibm.io.async.AsyncChannelFuture.fireCompletionActions (AsyncChannelFuture.java:161) на com.ibm.ioasync.AsyncFuture.completed (AsyncFuture.java:138) на странице com.ibm.io.async.ResultHandler.complete (ResultHandler.java:204) на странице com.ibm.io.async.ResultHandler.runEventProcessingLoop (ResultHandler.java:7)на com.ibm.io.async.ResultHandler $ 2.run (ResultHandler.java:905) на com.ibm.ws.util.ThreadPool $ Worker.run (ThreadPool.java:1862)
Дополнительная трассировка:
javax.ejb.EJBException: см. Вложенное исключение;Вложенное исключение: java.lang.IllegalStateException на com.ibm.ejs.container.util.ExceptionUtil.EJBException (ExceptionUtil.java:475) ~ [com.ibm.ws.runtime.jar: na] на com.ibm.ejs.container.util.ExceptionUtil.EJBException (ExceptionUtil.java:365) ~ [com.ibm.ws.runtime.jar: na] в com.ibm.ejs.container.BusinessExceptionMappingStrategy.mapException (BusinessExceptionMappingStrategy.java:392) ~ [com.ibm.ws.runtime.jar: na] at com.ibm.ejs.container.BusinessExceptionMappingStrategy.setUncheckedException (BusinessExceptionMappingStrategy.java:554) ~ [com.ibm.ws.runtime.jar: na] в com.ibm.ejs.container.xxx ..... xxx..FooService.fooMethod (FooService.java:37) вsun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
~ [na: 1.6.0] в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:60)
~ [na: 1.6.0] в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:37)
~ [na: 1.6.0] в java.lang.reflect.Method.invoke (Method.java:611)
~ [na: 1.6.0] в
com.sun.jersey.spi.container.JavaMethodInvokerFactory $ 1.invoke (JavaMethodInvokerFactory.java:60)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider $ ResponseOutInvoker._dispatch (AbstractResourceMethodDispatchProvider.java:205)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch (ResourceJavaMethodDispatcher.java:75)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept (HttpMethodRule.java:288)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept (RightHandPathRule.java:147)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept (ResourceClassRule.java:108)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept (RightHandPathRule.java:147)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept (RootResourceClassesRule.java:84)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest (WebApplicationImpl.java:1469)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest (WebApplicationImpl.java:1400)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest (WebApplicationImpl.java:1349)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest (WebApplicationImpl.java:1339)
[jersey-server-1.11.jar: 1.11] в
com.sun.jersey.spi.container.servlet.WebComponent.service (WebComponent.java:416)
[Джерси-сервлет-1.11.jar: 1.11] в
com.sun.jersey.spi.container.servlet.ServletContainer.service (ServletContainer.java:537)
[Джерси-сервлет-1.11.jar: 1.11] в
com.sun.jersey.spi.container.servlet.ServletContainer.service (ServletContainer.java:708)
[Джерси-сервлет-1.11.jar: 1.11] в
javax.servlet.http.HttpServlet.service (HttpServlet.java:668)
[javax.j2ee.servlet.jar: na] в
com.ibm.ws.webcontainer.servlet.ServletWrapper.service (ServletWrapper.java:1227)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:776)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:458)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest (ServletWrapperImpl.java:178)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget (WebAppFilterChain.java:136)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter (WebAppFilterChain.java:97)
[com.ibm.ws.webcontainer.jar: na] в
org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:76)
[spring-web-3.1.0.RELEASE.jar: 3.1.0.RELEASE] в
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter (FilterInstanceWrapper.java:195)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter (WebAppFilterChain.java:91)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter (WebAppFilterManager.java:928)
[com.ibm.ws.webcontainer.jar: na] в
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters (WebAppFilterManager.java:1025)[com.ibm.ws.webcontainer.jar: na] на com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest (CacheServletWrapper.java:87) [com.ibm.ws.webcontainer.jar: na] на com.ibm.ws.webcontainer.WebContainer.handleRequest (WebContainer.java:909) [com.ibm.ws.webcontainer.jar: na] в com.ibm.ws.webcontainer.WSWebContainer.handleRequest (WSWebContainer.java:1662 [com.ibm.ws.webcontainer.jar: na] на com.ibm.ws.webcontainer.channel.WCChannelLink.ready (WCChannelLink.java:200) [com.ibm.ws.webcontainer.jar: na] на com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination (HttpInboundLink.java:459) [com.ibm.ws.runtime.jar: na] в com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest (HttpInboundLink.java:526) [com.ibm.ws.runtime.jar: na] at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest (HttpInboundLink.java:312) [com.ibm.ws.runtime.jar: na] at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready (HttpInboundLink.java:283) [com.ibm.ws.runtime.jar: na]по адресу com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators (NewConnectionInitialReadCallback.java:214) [na: CCX.CF [o1103.02]] по адресу com.ibm.ws.tcp.channelReneckitN.complete (NewConnectionInitialReadCallback.java:113) [na: CCX.CF [o1103.02]] на com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted (AioReadCompletionListener.java:175w). com.ib.mruntime.jar: na] в com.ibm.io.async.AbstractAsyncFuture.invokeCallback (AbstractAsyncFuture.java:217) [com.ibm.ws.runtime.jar: na] в com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) [com.ibm.ws.runtime.jar: na] на com.ibm.io.async.AsyncFuture.completed (AsyncFuture.java:138) [com.ibm.ws.runtime.jar:na] at com.ibm.io.async.ResultHandler.complete (ResultHandler.java:204) [com.ibm.ws.runtime.jar: na] at com.ibm.io.async.ResultHandler.runEventProcessingLoop (ResultHandler.java): 775) [com.ibm.ws.runtime.jar: na] at com.ibm.io.async.ResultHandler $ 2.run (РезультатHandler.java:905) [com.ibm.ws.runtime.jar: na] at com.ibm.ws.util.ThreadPool $ Worker.run (ThreadPool.java:1862) [com.ibm.ws.runtime.jar: na] Вызывается: java.lang.IllegalStateException: null at com.ibm.ejs.container.CMStatelessBeanO.getUserTransaction (CMStatelessBeanO.java:79) ~ [com.ibm.ws.runtime.jar: na] в com.xxx..... xxx.FooManagerBean.fooMethod (FooManagerBean.java:83) ~ [xxxxx.jar: na] в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) ~ [na: 1.6.0] в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:60) ~ [na: 1.6.0] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:37) ~ [na: 1.6.0g.ref. Java.invoke (Method.java:611) ~ [na: 1.6.0] на com.ibm.ejs.container.EJSContainer.invokeProceed (EJSContainer.java:5730) ~ [com.ibm.ws.runtime.jar: na] вcom.ibm.ejs.container.interceptors.InvocationContextImpl.proceed (InvocationContextImpl.java:568) ~ [na: na] at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) ~ [na: 1.6.0] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:60) ~ [na: 1.6.0] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:37: 37)] на java.lang.reflect.Method.invoke (Method.java:611) ~ [na: 1.6.0] на com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor (InterceptorProxy.java:227) ~ [на: na] at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed (InvocationContextImpl.java:548) ~ [na: na] at com.ibm.ejs.container.interceptors.InvocationContextImpl.doAroundInvokeImpl.Contej) ~ [na: na] at com.ibm.ejs.container.EJSContainer.invoke (EJSContainer.java:5621) ~ [com.ibm.ws.runtime.jar: na] ... пропущено 52 общих кадра
И содержимое текстового файла, сгенерированного сервером:
[24/08/18 13: 59: 04: 518 CEST] FFDC
Исключение: java.lang.IllegalStateException
SourceId: com.ibm.ejs.container.BusinessExceptionMappingStrategy.setUncheckedException
ProbeId: 506
Репортер: com.ibm.ejs.container.BusinessExceptionMappingStrategy@f138ac6b
java.lang.IllegalStateException в
com.ibm.ejs.container.CMStatelessBeanO.getUserTransaction (CMStatelessBeanO.java:79) ...
(снова то же самое)
У меня есть источники данных, объявленные на сервере websphere, которые правильно восстановлены в приложении. Я что-то упускаю для настройки в веб-сфере?