[JBoss JIRA] Created: (JBPM-1375) Provide a way to determine the node type
by Mauro Molinari (JIRA)
Provide a way to determine the node type
----------------------------------------
Key: JBPM-1375
URL: http://jira.jboss.com/jira/browse/JBPM-1375
Project: JBoss jBPM
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: API
Affects Versions: jPDL 3.2.3
Reporter: Mauro Molinari
If you need to iterate over the nodes of a ProcessDefinition:
final List processNodes = processDefinition.getNodes ();
for (int x = 0; x < processNodes.size (); x++) {
final org.jbpm.graph.def.Node node = (org.jbpm.graph.def.Node) processNodes.get (x);
// ...
}
and you need to determine the actual type of a node, you cannot use instanceof because of the potential use of CGLIB proxies.
So, there's no *clean* way to determine the actual type of a node!!
Using the HibernateProxy workaround cited in the JBoss Forum reference attached, is not acceptable IMHO, because you're loosing the transparency against the underlying persistence technology. Moreover, it doesn't seem to work in the tests we're doing.
Using the alternative toString() workaround is also a dirty trick, because the toString() implementation might change and toString() shouldn't be used for this kind of things.
In another discussion:
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4156233
another user is experiencing our exact problem with the StartState: but we're not guaranteed that the same issue doesn't happen with other node types.
I can hardly accept the fact that a XXNode instance can't be cast to an XXNode object reference, however if this is the case, I think a clean way to determine the type of a node should then be provided by the jBPM API.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 11 months
[JBoss JIRA] Created: (JBPM-1757) StaleObjectStateException and Rollback in Join- Node
by Rainer Buss (JIRA)
StaleObjectStateException and Rollback in Join- Node
-----------------------------------------------------
Key: JBPM-1757
URL: https://jira.jboss.org/jira/browse/JBPM-1757
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jPDL 3
Affects Versions: jBPM 3.2.3
Environment: Mac Osx 10.5.5, JBoss AS 4.2.3 GA, jbpm-jpdl-3.2.3-suite, Oracle 10g Express Server 1.1
Reporter: Rainer Buss
Executing a test process inside JBoss 4.2.3 using jbpm-enterprise.ear throws StaleObjectStateException in Join- node. The process consists of two nodes with async = true between fork and join. Please see process- defintion and action- handler in the referenced forum entry. The rollback causes one node action to be executed twice.
Modifications of the distributed ear: I customized the ear by changing the property 'hibernate.dialect' to 'Oracle9iDialect' in hibernate.cfg.xml. As transaction factory I tried JTATransactionFactory as well as CMTTransactionFactory, without change of behaviour in this case. File jbpm.cfg.xml I kept unchanged.
(Setting the node attributes to async=false the instance is processed without error)
I will attach a log with and without sql- tracing.
In my opinion the issue is not dependent on using oracle, because I had the same effect with the preinstalled hsqldb.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 11 months
[JBoss JIRA] Created: (JBPM-1110) Having issues when I execute a second instance of a workflow that contain sub-process's in a Oracle database
by Eric Paquette (JIRA)
Having issues when I execute a second instance of a workflow that contain sub-process's in a Oracle database
------------------------------------------------------------------------------------------------------------
Key: JBPM-1110
URL: http://jira.jboss.com/jira/browse/JBPM-1110
Project: JBoss jBPM
Issue Type: Bug
Affects Versions: jBPM jPDL 3.2.1
Environment: Oracle DB using Alfreso with Hibernate
Reporter: Eric Paquette
Assigned To: Tom Baeyens
Priority: Critical
I'm having issues when I execute a second instance of a workflow that contain sub-process's in a Oracle database:
[20/12/07 14:25:33:757 EST] 00000029 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl initialize FFDC0009I: FFDC opened incident stream file C:\Program Files\IBM\SDP70\runtimes\base_v61\profiles\AppSrv01\logs\ffdc\server1_6500650_07.12.20_14.25.33_0.txt
[20/12/07 14:25:33:978 EST] 00000029 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl resetIncidentStream FFDC0010I: FFDC closed incident stream file C:\Program Files\IBM\SDP70\runtimes\base_v61\profiles\AppSrv01\logs\ffdc\server1_6500650_07.12.20_14.25.33_0.txt
[20/12/07 14:25:34:018 EST] 00000029 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl open FFDC0009I: FFDC opened incident stream file C:\Program Files\IBM\SDP70\runtimes\base_v61\profiles\AppSrv01\logs\ffdc\server1_6500650_07.12.20_14.25.34_0.txt
[20/12/07 14:25:34:859 EST] 00000029 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl resetIncidentStream FFDC0010I: FFDC closed incident stream file C:\Program Files\IBM\SDP70\runtimes\base_v61\profiles\AppSrv01\logs\ffdc\server1_6500650_07.12.20_14.25.34_0.txt
[20/12/07 14:25:35:249 EST] 00000029 SystemOut O 14:25:34,929 User:admin ERROR [ui.common.Utils] A system error happened during the operation: Transaction didn't commit: Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
javax.transaction.RollbackException: Transaction didn't commit: Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:430)
at org.alfresco.web.bean.workflow.ManageTaskDialog.transition(ManageTaskDialog.java:396)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
at javax.faces.component.UICommand.broadcast(UICommand.java:109)
at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:701)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:646)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
Caused by: org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:622)
at org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:714)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:583)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:662)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314)
at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:420)
... 40 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.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:218)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2174)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2610)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:52)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
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.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:575)
... 44 more
Caused by: java.sql.BatchUpdateException: ORA-00001: unique constraint (NHPOLS.SYS_C007328) violated
at oracle.jdbc.dbaccess.DBError.throwBatchUpdateException(DBError.java:459)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:4368)
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteBatch(WSJdbcPreparedStatement.java:808)
at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeBatch(WSJdbcStatement.java:612)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:4
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 59 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 11 months