[JBoss jBPM] - Re: How to create a Timer on a task-node?
by asmo
If the scheduler start you should see something like this:
21:22:44,375 DEBUG [Scheduler] starting the scheduler
And after that, the scheduler should check the database for timer every 5 seconds ( i think 5 seconds is the default value, but i am not sure...) and you can see this:
21:24:12,328 DEBUG [SchedulerThread] checking for timers
Otherwise, you must start the scheduler.
You could do this in the web.xml. there you must config the scheduler simular to this ( i don t use the scheduler servlet, so i don t know, if this is exactly right).
<servlet>
| <servlet-name>JbpmThreadsServlet</servlet-name>
| <servlet-class>org.jbpm.web.JbpmThreadsServlet</servlet-class>
| <load-on-startup>1</load-on-startup>
| </servlet>
| <servlet-mapping>
| <servlet-name>JbpmThreadsServlet</servlet-name>
| <url-pattern>/threads</url-pattern>
| </servlet-mapping>
Alternative you could start the main method of the org.jbpm.scheduler.impl.SchedulerThread.
I do this with java reflection in a java class, but i have no big java experience, so this is may not the best way, but it works... :-)
String[] nargs = {"4000", "40" ,"dd/MM/yyyy HH:mm:ss"};
| Class sched = Class.forName( "org.jbpm.scheduler.impl.SchedulerMain");
| Method[] methods = sched.getMethods();
| logger.info("Die methoden: " +methods.toString());
| Method methode = sched.getMethod(
| "main" , nargs.getClass());
| logger.info("Die methode: " + methode.toString());
| methode.invoke( null, new Object[]{nargs} );
|
Regards
asmo
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4000602#4000602
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4000602
19 years, 3 months
[JBoss Seam] - @Startup problems
by emsa
Using 1.1.0.GA
I know I've had this problem before but it started working under 1.0.x somewhere but now I have the same problem again.
I get no EntityManager during @Startup (Application Scoped).
Using @In(create = true) EntityManager em; does not work and em = (EntityManager) Component.getInstance("em", true); also returns null.
The stack looks like this:
| at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
| at org.jboss.seam.interceptors.OutcomeInterceptor.interceptOutcome(OutcomeInterceptor.java:23)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
| at org.jboss.seam.interceptors.RollbackInterceptor.rollbackIfNecessary(RollbackInterceptor.java:33)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
| at org.jboss.seam.interceptors.BijectionInterceptor.bijectTargetComponent(BijectionInterceptor.java:51)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
| at org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:51)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
| at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:38)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
| at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
| at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
| at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:144)
| at org.jboss.seam.intercept.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:79)
| at provment.servlet.ProvmentListner$$EnhancerByCGLIB$$9e9243f1.contextInitialized(<generated>)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:102)
| at org.jboss.seam.Component.callComponentMethod(Component.java:1791)
| at org.jboss.seam.Component.callCreateMethod(Component.java:1739)
| at org.jboss.seam.Component.newInstance(Component.java:1728)
| at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:152)
| at org.jboss.seam.contexts.Lifecycle.endInitialization(Lifecycle.java:126)
| at org.jboss.seam.init.Initialization.init(Initialization.java:430)
| at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:33)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
| at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
| at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
| at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.apache.catalina.core.StandardContext.init(StandardContext.java:5052)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:297)
| at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:103)
| at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:371)
| at org.jboss.web.WebModule.startModule(WebModule.java:83)
| at org.jboss.web.WebModule.startService(WebModule.java:61)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy38.start(Unknown Source)
| at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
| at org.jboss.ws.integration.jboss.DeployerInterceptor.start(DeployerInterceptor.java:92)
| at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
| at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy39.start(Unknown Source)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy6.deploy(Unknown Source)
| at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
|
so it look like the call gets intercepted as expected.
I also tried with @Startup(depends = "em"), this results in:
| java.lang.IllegalStateException: No conversation context active
| at org.jboss.seam.ScopeType.getContext(ScopeType.java:111)
| at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:150)
| at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:145)
| at org.jboss.seam.contexts.Lifecycle.endInitialization(Lifecycle.java:126)
| at org.jboss.seam.init.Initialization.init(Initialization.java:430)
| at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:33)
|
can I do anything else to make the em work during startup?
thanks
/Magnus
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4000598#4000598
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4000598
19 years, 3 months
[Persistence, JBoss/CMP, Hibernate, Database] - XAException XAER_DUPID in CMP EJB finder invoked from a sche
by torf
Hi,
we have a org.jboss.varia.scheduler.Schedulable implementation which invokes a SLSB (MessageSchedulerTimer), which in turn invokes a CMP entity bean's (MessageEntryBean) finder method. Often it works fine, but sometimes the finder fails with a XAExcpetion with errorCode XAER_DUPID.
It is running on a JBoss 4.0.4.GA with no other cluster members, and no other JBoss instances running on the same computer.
Stack trace for a successful scheduler run (at 15:00:00), followed by one with XAER_DUPID (at 15:00:20). (Not shown here: the next run at 15:00:40 succeeds.)
2007-01-11 15:00:00,962 DEBUG [org.jboss.varia.scheduler.Scheduler$Listener] Listener.handleNotification(), notification: javax.management.timer.TimerNotification[source=jboss:service=Timer][type=Schedule][message=Scheduler Notification]
| 2007-01-11 15:00:00,962 DEBUG [org.jboss.varia.scheduler.Scheduler$Listener] Scheduler is started: true
| 2007-01-11 15:00:00,962 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] onTimeout() invoked
| 2007-01-11 15:00:00,962 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] handleOverduedMessages() invoked with RescheduleDelayMin=1,RescheduleDelayMax=50000000,RescheduleCountMax=1000
| 2007-01-11 15:00:00,962 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.MessageEntryBean#findByTransmissionDate] Executing SQL: SELECT t0_o.id, t0_o.deleteDate, t0_o.message, t0_o.originator, t0_o.originatorCode, t0_o.originatorKey, t0_o.transmissionDate, t0_o.transmissionDate FROM messenger_messages t0_o WHERE (t0_o.transmissionDate < ?) ORDER BY t0_o.transmissionDate DESC
| 2007-01-11 15:00:00,972 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] handleOverduedMessages() no overdued messages found
| 2007-01-11 15:00:00,972 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] handleOutdatedMessages() invoked with RemoveCountMax=-1
| 2007-01-11 15:00:00,972 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.MessageEntryBean#findByDeleteDate] Executing SQL: SELECT t0_o.id, t0_o.deleteDate, t0_o.message, t0_o.originator, t0_o.originatorCode, t0_o.originatorKey, t0_o.transmissionDate, t0_o.deleteDate FROM messenger_messages t0_o WHERE (t0_o.deleteDate < ?) ORDER BY t0_o.deleteDate ASC
| 2007-01-11 15:00:00,982 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] handleOutdatedMessages() no outdated messages found
| 2007-01-11 15:00:00,982 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] onTimeout() returned within 20 [ms]
| 2007-01-11 15:00:00,982 DEBUG [org.jboss.varia.scheduler.Scheduler$Listener] Remaining Repititions: -1, wait for next call to stop: false
| 2007-01-11 15:00:20,991 DEBUG [org.jboss.varia.scheduler.Scheduler$Listener] Listener.handleNotification(), notification: javax.management.timer.TimerNotification[source=jboss:service=Timer][type=Schedule][message=Scheduler Notification]
| 2007-01-11 15:00:20,991 DEBUG [org.jboss.varia.scheduler.Scheduler$Listener] Scheduler is started: true
| 2007-01-11 15:00:20,991 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] onTimeout() invoked
| 2007-01-11 15:00:20,991 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] handleOverduedMessages() invoked with RescheduleDelayMin=1,RescheduleDelayMax=50000000,RescheduleCountMax=1000
| 2007-01-11 15:00:20,991 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.MessageEntryBean#findByTransmissionDate] Executing SQL: SELECT t0_o.id, t0_o.deleteDate, t0_o.message, t0_o.originator, t0_o.originatorCode, t0_o.originatorKey, t0_o.transmissionDate, t0_o.transmissionDate FROM messenger_messages t0_o WHERE (t0_o.transmissionDate < ?) ORDER BY t0_o.transmissionDate DESC
| 2007-01-11 15:00:20,991 WARN [org.jboss.tm.TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=1052360-D/368, BranchQual=, localId=368] errorCode=XAER_DUPID
| javax.transaction.xa.XAException
| at com.informix.jdbcx.IfxXAResource.start(IfxXAResource.java:451)
| at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:117)
| at org.jboss.tm.TransactionImpl$Resource.startResource(TransactionImpl.java:2063)
| at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:581)
| at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:757)
| at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:548)
| at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:323)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:501)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:382)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:812)
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:225)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:144)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntitiesCommand.execute(JDBCFindEntitiesCommand.java:54)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntities(JDBCStoreManager.java:613)
| at org.jboss.ejb.plugins.CMPPersistenceManager.findEntities(CMPPersistenceManager.java:337)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntities(CachedConnectionInterceptor.java:242)
| at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:655)
| at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
| at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1130)
| at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)
| at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:189)
| at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)
| at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:134)
| at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
| at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:43)
| at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
| at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
| at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
| at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
| at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:145)
| at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
| at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:514)
| at org.jboss.ejb.Container.invoke(Container.java:975)
| at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:359)
| at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
| at $Proxy95.findByTransmissionDate(Unknown Source)
| at de.mobilcom.messenger.repository.RepositoryEntityImpl.queryOverduedMessages(RepositoryEntityImpl.java:232)
| at de.mobilcom.messenger.scheduler.SchedulerTimerBean.handleOverduedMessages(SchedulerTimerBean.java:271)
| at de.mobilcom.messenger.scheduler.SchedulerTimerBean.onTimeout(SchedulerTimerBean.java:212)
| at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
| at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
| at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
| at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
| at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
| at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
| at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
| at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
| at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136)
| at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
| at org.jboss.ejb.Container.invoke(Container.java:954)
| at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
| at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
| at org.jboss.invocation.InvokerInterceptor.invokeLocalMarshalled(InvokerInterceptor.java:292)
| at org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:61)
| at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
| at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
| at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
| at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
| at $Proxy77.onTimeout(Unknown Source)
| at de.mobilcom.framework.timer.TimedObjectSchedulableRemote.perform(TimedObjectSchedulableRemote.java:118)
| at org.jboss.varia.scheduler.Scheduler$Listener.handleNotification(Scheduler.java:1235)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
| at $Proxy10.handleNotification(Unknown Source)
| at javax.management.NotificationBroadcasterSupport.handleNotification(Unknown Source)
| at javax.management.NotificationBroadcasterSupport.sendNotification(Unknown Source)
| at javax.management.timer.Timer.sendNotification(Unknown Source)
| at javax.management.timer.Timer.notifyAlarmClock(Unknown Source)
| at javax.management.timer.TimerAlarmClock.run(Unknown Source)
| at java.util.TimerThread.mainLoop(Unknown Source)
| at java.util.TimerThread.run(Unknown Source)
| 2007-01-11 15:00:20,991 ERROR [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.MessageEntryBean#findByTransmissionDate] Find failed
| 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=TransactionImpl:XidImpl[FormatId=257, GlobalId=1052360-D/368, BranchQual=, localId=368]); - 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=TransactionImpl:XidImpl[FormatId=257, GlobalId=1052360-D/368, BranchQual=, localId=368]))
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:94)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:225)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:144)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntitiesCommand.execute(JDBCFindEntitiesCommand.java:54)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntities(JDBCStoreManager.java:613)
| at org.jboss.ejb.plugins.CMPPersistenceManager.findEntities(CMPPersistenceManager.java:337)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntities(CachedConnectionInterceptor.java:242)
| at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:655)
| at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
| at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1130)
| at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)
| at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:189)
| at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)
| at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:134)
| at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
| at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:43)
| at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
| at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
| at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
| at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
| at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:145)
| at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
| at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:514)
| at org.jboss.ejb.Container.invoke(Container.java:975)
| at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:359)
| at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
| at $Proxy95.findByTransmissionDate(Unknown Source)
| at de.mobilcom.messenger.repository.RepositoryEntityImpl.queryOverduedMessages(RepositoryEntityImpl.java:232)
| at de.mobilcom.messenger.scheduler.SchedulerTimerBean.handleOverduedMessages(SchedulerTimerBean.java:271)
| at de.mobilcom.messenger.scheduler.SchedulerTimerBean.onTimeout(SchedulerTimerBean.java:212)
| at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
| at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
| at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
| at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
| at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
| at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
| at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
| at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
| at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136)
| at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
| at org.jboss.ejb.Container.invoke(Container.java:954)
| at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
| at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
| at org.jboss.invocation.InvokerInterceptor.invokeLocalMarshalled(InvokerInterceptor.java:292)
| at org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:61)
| at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
| at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
| at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
| at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
| at $Proxy77.onTimeout(Unknown Source)
| at de.mobilcom.framework.timer.TimedObjectSchedulableRemote.perform(TimedObjectSchedulableRemote.java:118)
| at org.jboss.varia.scheduler.Scheduler$Listener.handleNotification(Scheduler.java:1235)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
| at $Proxy10.handleNotification(Unknown Source)
| at javax.management.NotificationBroadcasterSupport.handleNotification(Unknown Source)
| at javax.management.NotificationBroadcasterSupport.sendNotification(Unknown Source)
| at javax.management.timer.Timer.sendNotification(Unknown Source)
| at javax.management.timer.Timer.notifyAlarmClock(Unknown Source)
| at javax.management.timer.TimerAlarmClock.run(Unknown Source)
| at java.util.TimerThread.mainLoop(Unknown Source)
| at java.util.TimerThread.run(Unknown Source)
| 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=TransactionImpl:XidImpl[FormatId=257, GlobalId=1052360-D/368, BranchQual=, localId=368])
| at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:329)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:501)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:382)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:812)
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
| ... 81 more
| Caused by: javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=1052360-D/368, BranchQual=, localId=368]
| at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.checkEnlisted(TxConnectionManager.java:728)
| at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:561)
| at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:323)
| ... 85 more
| 2007-01-11 15:00:21,001 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] handleOverduedMessages() no overdued messages found
| 2007-01-11 15:00:21,001 DEBUG [de.mobilcom.messenger.scheduler.SchedulerTimerBean] handleOutdatedMessages() invoked with RemoveCountMax=-1
| 2007-01-11 15:00:21,001 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.MessageEntryBean#findByDeleteDate] Executing SQL: SELECT t0_o.id, t0_o.deleteDate, t0_o.message, t0_o.originator, t0_o.originatorCode, t0_o.originatorKey, t0_o.transmissionDate, t0_o.deleteDate FROM messenger_messages t0_o WHERE (t0_o.deleteDate < ?) ORDER BY t0_o.deleteDate ASC
| 2007-01-11 15:00:21,001 WARN [org.jboss.tm.TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=1052360-D/368, BranchQual=, localId=368] errorCode=XAER_DUPID
| javax.transaction.xa.XAException
| at com.informix.jdbcx.IfxXAResource.start(IfxXAResource.java:451)
| at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:117)
|
The Schedulable deployment is:
| <?xml version="1.0" encoding="UTF-8"?>
| <server>
| <classpath codebase="deploy/applications/MessengerService" archives="MessengerService-api-v3.0.jar"/>
| <mbean code="org.jboss.varia.scheduler.Scheduler" name=":service=Scheduler,schedule=MessengerService">
| <depends>jboss.j2ee:service=EARDeployment,url='MessengerService-all-v3.0.0.ear'</depends>
| <attribute name="StartAtStartup">true</attribute>
| <attribute name="SchedulableClass">de.mobilcom.framework.timer.TimedObjectSchedulableRemote</attribute>
| <attribute name="SchedulableArguments">ejb/MessageSchedulerTimer</attribute>
| <attribute name="SchedulableArgumentTypes">java.lang.String</attribute>
| <attribute name="InitialStartDate">0</attribute>
| <attribute name="SchedulePeriod">20000</attribute>
| <attribute name="InitialRepetitions">-1</attribute>
| </mbean>
| </server>
|
The relevant part of ejb-jar.xml:
| <?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans
| 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
| <ejb-jar >
| <description><![CDATA[No Description.]]></description>
| <display-name>Generated by XDoclet</display-name>
|
| <enterprise-beans>
| <!-- Session Beans -->
| <session >
| <description><![CDATA[The
| periodically invoked scheduler timer bean searches for any overdued message
| transmissions and immediately reschedules these messages. Normally this
| should not happen as all scheduled messages should be handled immediately by
| the <code> SchedulerMessageBean</code> on timed JMS scheduling message
| delivery. Nevertheless, due to the high importance of reliable message
| delivery, the scheduler timer acts as a fallback system for ensuring message
| transmission even in case of scheduling errors (e.g.]]></description>
|
| <ejb-name>MessageSchedulerTimer</ejb-name>
|
| <home>de.mobilcom.messenger.scheduler.MessageSchedulerTimerRemoteHome</home>
| <remote>de.mobilcom.messenger.scheduler.MessageSchedulerTimerRemote</remote>
| <ejb-class>de.mobilcom.messenger.scheduler.SchedulerTimerBean</ejb-class>
| <session-type>Stateless</session-type>
| <transaction-type>Container</transaction-type>
|
| <env-entry>
| <description><![CDATA[JMS user identity for sending scheduled JMS
| messages to internal queue]]></description>
| <env-entry-name>JMSQueueUser</env-entry-name>
| <env-entry-type>java.lang.String</env-entry-type>
| <env-entry-value><![CDATA[xxx]]></env-entry-value>
| </env-entry>
| <env-entry>
| <description><![CDATA[JMS user password]]></description>
| <env-entry-name>JMSQueuePassword</env-entry-name>
| <env-entry-type>java.lang.String</env-entry-type>
| <env-entry-value><![CDATA[xxx]]></env-entry-value>
| </env-entry>
|
| <security-identity>
| <run-as>
| <role-name>Service</role-name>
| </run-as>
| </security-identity>
| </session>
|
| <!-- Entity Beans -->
| <entity >
| <description><![CDATA[Message entry entity bean]]></description>
| <display-name>MessageEntryBean</display-name>
|
| <ejb-name>MessageEntryBean</ejb-name>
|
| <local-home>de.mobilcom.messenger.repository.MessageEntryBeanLocalHome</local-home>
| <local>de.mobilcom.messenger.repository.MessageEntryBeanLocal</local>
|
| <ejb-class>de.mobilcom.messenger.repository.MessageEntryBean</ejb-class>
| <persistence-type>Container</persistence-type>
| <prim-key-class>java.lang.Integer</prim-key-class>
| <reentrant>False</reentrant>
| <cmp-version>2.x</cmp-version>
| <abstract-schema-name>messages</abstract-schema-name>
| <cmp-field >
| <description><![CDATA[Gets the message delete date]]></description>
| <field-name>deleteDate</field-name>
| </cmp-field>
| <cmp-field >
| <description><![CDATA[Gets the message id (primary key)]]></description>
| <field-name>id</field-name>
| </cmp-field>
| <cmp-field >
| <description><![CDATA[Gets the message persistence value]]></description>
| <field-name>message</field-name>
| </cmp-field>
| <cmp-field >
| <description><![CDATA[Gets the originator persistence value]]></description>
| <field-name>originator</field-name>
| </cmp-field>
| <cmp-field >
| <description><![CDATA[Gets the originator code persistence value]]></description>
| <field-name>originatorCode</field-name>
| </cmp-field>
| <cmp-field >
| <description><![CDATA[Gets the originator key persistence value]]></description>
| <field-name>originatorKey</field-name>
| </cmp-field>
| <cmp-field >
| <description><![CDATA[Gets the next transmission date]]></description>
| <field-name>transmissionDate</field-name>
| </cmp-field>
| <primkey-field>id</primkey-field>
|
| <query>
| <query-method>
| <method-name>findByOriginatorAsc</method-name>
| <method-params>
| <method-param>java.lang.String</method-param>
| </method-params>
| </query-method>
| <ejb-ql><![CDATA[SELECT OBJECT(o) FROM messages AS o WHERE o.originator=?1 ORDER BY o.id ASC]]></ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByOriginatorDesc</method-name>
| <method-params>
| <method-param>java.lang.String</method-param>
| </method-params>
| </query-method>
| <ejb-ql><![CDATA[SELECT OBJECT(o) FROM messages AS o WHERE o.originator=?1 ORDER BY o.id DESC]]></ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByOriginatorAndOriginatorKeyAsc</method-name>
| <method-params>
| <method-param>java.lang.String</method-param>
| <method-param>java.lang.String</method-param>
| </method-params>
| </query-method>
| <ejb-ql><![CDATA[SELECT OBJECT(o) FROM messages AS o WHERE o.originator=?1 AND o.originatorKey=?2 ORDER BY o.id ASC]]></ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByOriginatorAndOriginatorKeyDesc</method-name>
| <method-params>
| <method-param>java.lang.String</method-param>
| <method-param>java.lang.String</method-param>
| </method-params>
| </query-method>
| <ejb-ql><![CDATA[SELECT OBJECT(o) FROM messages AS o WHERE o.originator=?1 AND o.originatorKey=?2 ORDER BY o.id DESC]]></ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByTransmissionDate</method-name>
| <method-params>
| <method-param>java.util.Date</method-param>
| </method-params>
| </query-method>
| <ejb-ql><![CDATA[SELECT OBJECT(o) FROM messages AS o WHERE o.transmissionDate < ?1 ORDER BY o.transmissionDate DESC]]></ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByDeleteDate</method-name>
| <method-params>
| <method-param>java.util.Date</method-param>
| </method-params>
| </query-method>
| <ejb-ql><![CDATA[SELECT OBJECT(o) FROM messages AS o WHERE o.deleteDate < ?1 ORDER BY o.deleteDate ASC]]></ejb-ql>
| </query>
| <!-- Write a file named ejb-finders-MessageEntryBean.xml if you want to define extra finders. -->
| </entity>
|
| </enterprise-beans>
|
| <!-- Relationships -->
|
| <!-- Assembly Descriptor -->
| <!--
| To specify your own assembly descriptor info here, add a file to your
| XDoclet merge directory called assembly-descriptor.xml that contains
| the <assembly-descriptor></assembly-descriptor> markup.
| -->
|
| <assembly-descriptor >
|
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageEntryBean</ejb-name>
| <method-intf>Local</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageEntryBean</ejb-name>
| <method-intf>LocalHome</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageEntryBean</ejb-name>
| <method-intf>Remote</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageEntryBean</ejb-name>
| <method-intf>Home</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
|
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageSchedulerTimer</ejb-name>
| <method-intf>Local</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageSchedulerTimer</ejb-name>
| <method-intf>LocalHome</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageSchedulerTimer</ejb-name>
| <method-intf>Remote</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>MessageSchedulerTimer</ejb-name>
| <method-intf>Home</method-intf>
| <method-name>*</method-name>
| </method>
| </method-permission>
|
| <!-- transactions -->
| <!--
| To specify additional container-transaction elements, add a file in the merge
| directory called ejb-container-transactions.ent that contains them.
| -->
| <container-transaction >
| <method >
| <ejb-name>MessageEntryBean</ejb-name>
| <method-name>*</method-name>
| </method>
| <trans-attribute>Required</trans-attribute>
| </container-transaction>
| <container-transaction >
| <method >
| <ejb-name>MessageSchedulerTimer</ejb-name>
| <method-name>*</method-name>
| </method>
| <trans-attribute>Required</trans-attribute>
| </container-transaction>
|
| <!-- finder transactions -->
|
| <!-- message destinations -->
| <!--
| To specify additional message-destination elements, add a file in the merge
| directory called ejb-message-destinations.ent that contains them.
| -->
|
| <!-- exclude list -->
| <!--
| To specify an exclude-list element, add a file in the merge directory
| called ejb-exclude-list.xml that contains it.
| -->
| </assembly-descriptor>
|
| </ejb-jar>
|
Can anyone please help?
Thanks,
Christoph
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4000582#4000582
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4000582
19 years, 3 months