[JBoss jBPM] - Wait state how to?
by viniciuscarvalho
Hello there! I have a simple process with few actions and one decision, one fork and one join. I can't post the actual process here due NDA but I'll change names and if needed I change the whole processdefinition and attach it here.
My question is regarding wait states. I want to have a wait state on my process, but testing it, it runs an entire path without stopping (It does follow the correct path depending on decisions, but does not wait for other inputs). Here's how I'm testing it:
| @Before
| public void init(){
| this.processDefinition = ProcessDefinition.parseXmlInputStream(getClass().getClassLoader().getResourceAsStream("processdefinition.xml"));
|
| this.startState = (StartState) this.processDefinition.getStartState();
| this.endState = (EndState)this.processDefinition.getNode("end");
| this.processInstance = new ProcessInstance(this.processDefinition);
| this.token = processInstance.getRootToken();
| }
| @Test
| public void testMainFlow() throws Exception{
| this.token.signal();
| }
|
My first action creates an hypothetical situation, that is latter checked in a transition:
| <start-state name="start">
| <transition name="" to="firstStep">
| <action name="action1" class="*.*.*.*.FirstNodeHandler"></action>
| </transition>
| </start-state>
| .
| .
| .
| <decision name="checkAmount">
|
| <transition name="Yes" to="Wait for approval">
| <condition><![CDATA[#{contagem < 500}]]></condition>
| </transition>
| <transition name="No" to="Approve">
| <condition><![CDATA[#{contagem > 500}]]></condition>
| </transition>
| </decision>
|
What I'd want is the node "Wait for Approval" stay in a wait state untill other entity signals it. But it's just executing it and continuing the flow.
What have I missed?
Regards
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4034308#4034308
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4034308
19 years
[EJB 3.0] - org.jbos.tm.jbossrollbackexception instead of EJBException
by judge2005
Hi,
Under certain circumstances (vague I know but hopefully someone may have an answer before I try and cobble together a reproducible test case) I get a org.jboss.tm.JBossRollbackException instead of an EJBException. The basic scenario is that I have a MDB which calls a session bean. The session bean is declared to require transactions, but the MDB has no annotation specifying its transaction behavior.
The session bean performs inserts into a database using a hibernate entity manager. If I do the inserts totally via hibernate I get the EJBException. If I let some database triggers handle some of the inserts I get a JBossRollbackException.
Anyone know what is going on?
Thanks in advance.
BTW I'm using JBoss 4.0.4GA patched with EJB3 RC9.
java.lang.RuntimeException: org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=ma2koleinik2/20, BranchQual=, localId=20] status=STATUS_NO_TRANSACTION; - nested throwable: (javax.persistence.EntityExistsException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update)
at org.jboss.aspects.tx.TxPolicy.handleEndTransactionException(TxPolicy.java:198)
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:180)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:131)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:211)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
at $Proxy83.process(Unknown Source)
at com.ftid.fisi.feeddata.listener.FeedDataMdb.onEvent(FeedDataMdb.java:46)
at com.ftid.fisi.feeddata.listener.FeedDataMdb.onEvent(FeedDataMdb.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:111)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:245)
at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
at $Proxy87.onEvent(Unknown Source)
at com.ftid.fisi.eventmanager.connector.EventWorker.run(EventWorker.java:62)
at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Unknown Source)
Caused by: org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=ma2koleinik2/20, BranchQual=, localId=20] status=STATUS_NO_TRANSACTION; - nested throwable: (javax.persistence.EntityExistsException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:372)
at org.jboss.tm.TxManager.commit(TxManager.java:240)
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
... 45 more
Caused by: javax.persistence.EntityExistsException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:616)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:524)
at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1491)
at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1110)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324)
... 47 more
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
... 50 more
Caused by: java.sql.BatchUpdateException: ORA-00001: unique constraint (DHUTTON.ISSUER_NAME_UK) violated
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4034305#4034305
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4034305
19 years
[JBoss Seam] - Re: Seam EL parsing problem
by Stateless Bean
Here u go...
| <s:link value="#{messages['playerUnit.rocket10']}" action='#{rocketCenterAction.showDetailedUnit("1")}' />
|
| SEVERE: Error Rendering View[/pages/RocketCenter.xhtml]
| com.sun.facelets.tag.TagAttributeException: /pages/RocketCenter.xhtml @116,117 action="#{rocketCenterAction.showDetailedUnit("1")}" Error Parsing: #{rocketCenterAction.showDetailedUnit("1")}
| at com.sun.facelets.tag.TagAttribute.getMethodExpression(TagAttribute.java:144)
| at com.sun.facelets.tag.jsf.ActionSourceRule$ActionMapper.applyMetadata(ActionSourceRule.java:50)
| at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
| at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
| at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:144)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
| at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
| at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
| at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
| at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
| at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
| at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
| at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
| at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
| at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
| at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
| at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
| at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
| at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
| at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:503)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:546)
| at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Unknown Source)
| Caused by: javax.el.ELException: Error Parsing: #{rocketCenterAction.showDetailedUnit("1")}
| at com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:140)
| at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:157)
| at com.sun.el.lang.ExpressionBuilder.createMethodExpression(ExpressionBuilder.java:208)
| at com.sun.el.ExpressionFactoryImpl.createMethodExpression(ExpressionFactoryImpl.java:63)
| at com.sun.facelets.tag.TagAttribute.getMethodExpression(TagAttribute.java:141)
| ... 55 more
| Caused by: com.sun.el.parser.ParseException: Encountered "(" at line 1, column 38.
| Was expecting one of:
| "}" ...
| "." ...
| "[" ...
| ">" ...
| "gt" ...
| "<" ...
| "lt" ...
| ">=" ...
| "ge" ...
| "<=" ...
| "le" ...
| "==" ...
| "eq" ...
| "!=" ...
| "ne" ...
| "&&" ...
| "and" ...
| "||" ...
| "or" ...
| "*" ...
| "+" ...
| "-" ...
| "?" ...
| "/" ...
| "div" ...
| "%" ...
| "mod" ...
|
| at com.sun.el.parser.ELParser.generateParseException(ELParser.java:1651)
| at com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1531)
| at com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:134)
| at com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:61)
| at com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:103)
| ... 59 more
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4034303#4034303
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4034303
19 years
[Clustering/JBoss] - Re: Could not find data type to lookup by marshaller
by vulee
The MarshallFactory.getMarshaller() was invoked by RemoteClientInvoker.invoke()
anonymous wrote :
| // try by locator (in case marshaller class name specified)
| marshaller = MarshalFactory.getMarshaller(getLocator(), getClassLoader());
| if(marshaller == null)
| {
| // need to have a marshaller, so create a default one
| marshaller = MarshalFactory.getMarshaller(getDataType());
| if(marshaller == null)
| {
| // went as far as possible to find a marshaller, will have to give up
| throw new InvalidMarshallingResource("Can not find a valid marshaller for data type: " + getDataType());
| }
| }
| }
| .............
|
|
Since marshaller was succeeded by MarshalFactory.getMarshaller(getDataType());, my app ran fine. I intended to increase the priority level in the log4j.xml to not printing the message. any suggestion?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4034299#4034299
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4034299
19 years