
Бывалый

Профиль
Группа: Участник
Сообщений: 160
Регистрация: 20.2.2006
Репутация: 3 Всего: 4
|
Добрый день. Столкнулся с проблемой при работе с таймерами в EJB 3.0 Если вызывать из сервлета метод бина, который только создает таймер, а затем, в другом методе обрабатывает этот таймер по таймауту, то всё работает. Но если таймер создается внутри большого бизнес-метода бина, то получаю EJBException. В чем дело и как побороть? Итак, в бизнес-методе бина делаю так: Код | TimerService timerService = context.getTimerService(); timerService.createTimer(new Date(), groupId); //--- тут происходит ошибка
|
где context объявлена как Код | private @Resource SessionContext context;
|
получаю ошибку Цитата | 13:41:39,705 WARN [loggerI18N] [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@1257d77 13:41:39,721 ERROR [STDERR] javax.ejb.EJBException: Failed to create timer 13:41:39,721 ERROR [STDERR] at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:263) 13:41:39,721 ERROR [STDERR] at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:222) 13:41:39,721 ERROR [STDERR] at org.jboss.ejb3.timerservice.jboss.TimerServiceFacade.createTimer(TimerServiceFacade.java:74) 13:41:39,721 ERROR [STDERR] at ru.cti.iss.bwks.ejb3.impl.CoordinatorImpl.createTimerForPbxGroup(CoordinatorImpl.java:218) 13:41:39,721 ERROR [STDERR] at ru.cti.iss.bwks.ejb3.impl.CoordinatorImpl.createPbxGroup(CoordinatorImpl.java:201) 13:41:39,721 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 13:41:39,721 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 13:41:39,721 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 13:41:39,721 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585) 13:41:39,721 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122) 13:41:39,721 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) 13:41:39,721 ERROR [STDERR] at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69) 13:41:39,721 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73) 13:41:39,721 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59) 13:41:39,721 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor275.invoke(Unknown Source) 13:41:39,721 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 13:41:39,736 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_11438836.invoke(InvocationContextInterceptor_z_fillMethod_11438836.java) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_11438836.invoke(InvocationContextInterceptor_z_setup_11438836.java) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) 13:41:39,736 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) 13:41:39,736 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:219) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101) 13:41:39,736 ERROR [STDERR] at $Proxy540.createPbxGroup(Unknown Source) 13:41:39,736 ERROR [STDERR] at ru.cti.iss.bwks.servlet.action.pbx.PBXCreateGroupAction.process(PBXCreateGroupAction.java:60) 13:41:39,736 ERROR [STDERR] at ru.cti.iss.bwks.servlet.PortalServlet.doProcess(PortalServlet.java:68) 13:41:39,736 ERROR [STDERR] at ru.cti.iss.bwks.servlet.BaseServlet.doPost(BaseServlet.java:86) 13:41:39,736 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 13:41:39,736 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 13:41:39,736 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 13:41:39,736 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 13:41:39,736 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 13:41:39,736 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 13:41:39,736 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 13:41:39,736 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 13:41:39,736 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 13:41:39,736 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 13:41:39,736 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601) 13:41:39,736 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 13:41:39,736 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595) 13:41:39,736 ERROR [STDERR] Caused by: java.lang.IllegalStateException: Unable to persist timer 13:41:39,736 ERROR [STDERR] at org.jboss.ejb.txtimer.DatabasePersistencePolicy.insertTimer(DatabasePersistencePolicy.java:124) 13:41:39,736 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 13:41:39,736 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 13:41:39,736 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 13:41:39,736 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585) 13:41:39,736 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) 13:41:39,736 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) 13:41:39,736 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 13:41:39,736 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) 13:41:39,736 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) 13:41:39,736 ERROR [STDERR] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 13:41:39,736 ERROR [STDERR] at $Proxy119.insertTimer(Unknown Source) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:257) 13:41:39,736 ERROR [STDERR] ... 80 more 13:41:39,736 ERROR [STDERR] Caused by: org.jboss.util.NestedSQLException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 59af4d48:4ee:4a0d2feb:136 status: ActionStatus.ABORT_ONLY >); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 59af4d48:4ee:4a0d2feb:136 status: ActionStatus.ABORT_ONLY >)) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:95) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.insertTimer(GeneralPurposeDatabasePersistencePlugin.java:201) 13:41:39,736 ERROR [STDERR] at org.jboss.ejb.txtimer.DatabasePersistencePolicy.insertTimer(DatabasePersistencePolicy.java:120) 13:41:39,736 ERROR [STDERR] ... 92 more 13:41:39,736 ERROR [STDERR] Caused by: org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 59af4d48:4ee:4a0d2feb:136 status: ActionStatus.ABORT_ONLY >) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:409) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:625) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:499) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89) 13:41:39,736 ERROR [STDERR] ... 94 more 13:41:39,736 ERROR [STDERR] Caused by: javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 59af4d48:4ee:4a0d2feb:136 status: ActionStatus.ABORT_ONLY > 13:41:39,736 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.checkEnlisted(TxConnectionManager.java:879) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:675) 13:41:39,736 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:403) 13:41:39,736 ERROR [STDERR] ... 98 more 13:41:39,736 ERROR [STDERR] 15.05.2009 13:41:39 ru.cti.iss.bwks.servlet.action.BaseAction debug INFO: <br>Failed to create timer<br><br>При обработке произошла внутренняя ошибка.<br>Обратитесь к администратору системы. 13:41:39,736 ERROR [STDERR] 15.05.2009 13:41:39 ru.cti.iss.bwks.servlet.action.BaseAction debug INFO: /WEB-INF/pages/index.jsp 13:41:39,736 ERROR [STDERR] 15.05.2009 13:41:39 ru.cti.iss.bwks.servlet.action.BaseAction debug INFO: Forwarding request to path /WEB-INF/pages/message.jsp
|
|