[jBPM Development] - Re: Some bugs and feature requests on jBPM 4.1
by jbarrez
"camunda" wrote : 1. Classloading problems
| When you put you EventHandlers, Java delegation classes and/or process variable types in an EJB3 deployment and redeploy that, jBPM still holds a reference to the old class definitions, which results in class cast exceptions. My guess is, that this is becasue EventHandler and such are reused/pooled? So there we might have to discuss, what scenario we want to support.
Eventhandlers, custom activities, etc were indeed instantiated at deploytime and pooled. Tom has recentlry changed this behaviour to instantiation at runtime (saves me a lot of hassle when deploying outside a project).
But I still think the instances are pooled afterwards, for performance reasons. So imo, this is a bug and needs to be fixed. In the meantime, you can restart the processEngine after a deploy as a 'workaround' (albeit not a good one...)
"camunda" wrote :
| 2. Invalid types.xml doesn't result in a parsing error
| We changed the types mapping and had a small XML error in that file. But this didn't resulted in a parsing exception, the parsing just stopped at this line and our type mapping wasn't read (which puzzled us for quite a while ;-)):
|
|
| | <type name="..." class="..." variable-class="...EntityVariable"> <!-- end tag was missing! -->
| | <type name="serializable" class="serializable"
| | converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter"
| | variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
| |
|
| Now every Serializable process variable was rejected...
|
Indeed a 'nice to have' feature ... should be easy to catch and log.
"camunda" wrote :
| 3. Bind e.g. integer value to EventListener field by expression
| This didn't work, and I don't know how to get it to work:
|
|
| | <custom class="de...jbpm.NoopActivity" g="83,61,143,50" name="xxx">
| | <on event="start">
| | <event-listener class="de.....SomeEvenetListener">
| | <field name="programm"><int value="#{programm}"/></field>
| | </event-listener>
| | </on>
| | <transition g="14,-11" name="ok" to="b"/>
| | </custom>
| |
| The only possibility with expressions seems to be the which results in a field type doesn't match problem:
|
| | <custom class="de...jbpm.NoopActivity" g="83,61,143,50" name="xxx">
| | <on event="start">
| | <event-listener class="de.....SomeEvenetListener">
| | <field name="programm"><object expr="#{programm}"/></field>
| | </event-listener>
| | </on>
| | <transition g="14,-11" name="ok" to="b"/>
| | </custom>
| |
|
The first code snippet should indeed work. Probably a bug.
"camunda" wrote :
| 4. Should be possible to set Subprocess Key by expression
| If you start a nw sub process instance, this normally has no special key, thus a key is created for it. It would be really convinient, if the main process could influence the sub process key by an expression (e.g. "#{execution.key}.SubXX.#{someUniqueVariableForIt}). maybe this need some more thoughts (what in case the key is not unique? ...?), but I think it could get handy in lot of situations.
|
I've heard this request from someone else too. Besides have an easier overview with multiple subprocesses, what other benefits do you see?
"camunda" wrote :
| 7. Signavio
| by the way, using the Signavio Editor for a already running process results in a lot of attributes beeing removed when saving with Signavio. It should be somehow the default, to keep everything, it doesn't know. I think I remember a discussion, that this is pretty hard to implement. But I think it is crucial for real live use cases. At least for use cases I have in mind for Business-/-Alignment. But maybe we can discuss that in the next meeting in Berlin.
|
I agree. I got the same feedback from a meeting with real-life users. Also, the other way around (from Eclipse -> Signavio) doesn't always work well regarding coordinates, it seems.
"camunda" wrote :
| 8. Support EJB3 Entities as process variables
| I think this is a pretty important feature, since a lot of projeects start with EJB3 today. Since Tom fixed a bug in the binding code, I think I can go ahead with that. Will post something as soon I had time to work on it again. If anybody else putting effort into this, please let me know!
|
The idea is to have a native activity for EJB3 invocations. If im correct, it was scheduled for 4.3.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4261517#4261517
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4261517
14 years, 8 months
[jBPM Development] - JBPM Rollback exception
by dmanchale
Can anyone please help me out solving this error...??? am using jbpm4 and trying to insert the values into the data base. but its getting rolled back saying the instance is not of expected entity type.
2009-10-21 11:48:47,133 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (http-127.0.0.1-8080-1) [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@124d310
org.hibernate.HibernateException: instance not of expected entity type: org.jbpm.pvm.internal.type.variable.UnpersistableVariable is not a: org.jbpm.pvm.internal.type.Variable
at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassEntityPersister(AbstractEntityPersister.java:3663)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1374)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:203)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:535)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:103)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:319)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:265)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:242)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154)
at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:263)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1414)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
at org.jbpm.enterprise.internal.jta.JtaTransactionInterceptor.executeCmdInNewJtaTx(JtaTransactionInterceptor.java:123)
at org.jbpm.enterprise.internal.jta.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:70)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:69)
at com.hp.adm.ADCService.InvokeADCProcess(ADCService.java:36)
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:597)
at org.jboss.wsf.container.jboss50.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:99)
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:219)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:498)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)
at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
2009-10-21 11:48:47,414 DEBUG [org.jboss.ws.core.jaxws.handler.MessageContextJAXWS] (http-127.0.0.1-8080-1) Begin response processing
2009-10-21 11:48:47,414 DEBUG [org.jboss.ws.core.soap.MessageContextAssociation] (http-127.0.0.1-8080-1) popMessageContext: org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS@ab7b2 (Thread http-127.0.0.1-8080-1)
2009-10-21 11:48:47,414 DEBUG [org.jboss.ws.core.soap.MessageContextAssociation] (http-127.0.0.1-8080-1) pushMessageContext: org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS@1b249ae (Thread http-127.0.0.1-8080-1)
2009-10-21 11:48:47,446 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] (http-127.0.0.1-8080-1) SOAP request exception
org.jbpm.api.JbpmException: transaction has been rolled back
at org.jbpm.enterprise.internal.jta.JtaTransactionInterceptor.executeCmdInNewJtaTx(JtaTransactionInterceptor.java:151)
at org.jbpm.enterprise.internal.jta.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:70)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:69)
at com.hp.adm.ADCService.InvokeADCProcess(ADCService.java:36)
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:597)
at org.jboss.wsf.container.jboss50.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:99)
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:219)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:498)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)
at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Could not commit transaction.
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1426)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
at org.jbpm.enterprise.internal.jta.JtaTransactionInterceptor.executeCmdInNewJtaTx(JtaTransactionInterceptor.java:123)
... 35 more
Caused by: org.hibernate.HibernateException: instance not of expected entity type: org.jbpm.pvm.internal.type.variable.UnpersistableVariable is not a: org.jbpm.pvm.internal.type.Variable
at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassEntityPersister(AbstractEntityPersister.java:3663)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1374)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:203)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:535)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:103)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:319)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:265)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:242)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154)
at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:263)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1414)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4261423#4261423
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4261423
14 years, 8 months
[jBPM Development] - Problems with date filters in the HistoryService (HistoryAct
by NAKHO
=== Environment ==============================
- jBPM Version : jbpm 4.1
- Database : oracle(ojdbc14.jar ->Oracle JDBC Driver version - 9.0.2.0.0)
-JDK : 1.5.09
- Container : jboss 4.05 GA
- Configuration :only importing files from the jbpm.jar
lib itself? or did you create a custom config file?
- Libraries : all jbmp libraries
=== Problem description =========================
When I use the historyService for search activities by dates (for example activities started before or after) I checks the assigned method (historyService.createHistoryActivityInstanceQuery().executionId(idProcessInstance).startedBefore()) does not filter the records correctly. For example for the records (JBPM4_HIST_ACTINST table):
DBID_ CLASS_ DBVERSION_ HPROCI_ TYPE_ EXECUTION_ ACTIVITY_NAME_ START_ END_ DURATION_ TRANSITION_ NEXTIDX_ HTASK_
1328 act 1 1326 state SERVICIO_TEST2.CI-797 state2 21/10/2009 10:51:25,748000 21/10/2009 10:51:25,998000 250 1
1327 act 1 1326 state SERVICIO_TEST2.CI-797 receive confirmation 21/10/2009 10:51:25,498000 21/10/2009 10:51:25,717000 219 to state2 1
I execute the method historyService.createHistoryActivityInstanceQuery().executionId("SERVICIO_TEST2.CI-797").startedBefore(new java.util.GregorianCalendar(2009, 9,22,10,37).getTime()).list() and returns 0 activities.
I think the problems is in the method org.jbpm.pvm.internal.query.HistoryActivityInstanceQueryImpl.applyParameters(Query) . This method assigns to query the "startedAfter" parameter a field of type Date instead Timestamp. If I assign the Timestamp field to "startedAfter" parameter the execution query returns two records.
The query log are correct:
Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797'
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4261420#4261420
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4261420
14 years, 8 months
[jBPM Development] - Re: Criteria ordered not execute on the HistoryActivityInsta
by NAKHO
=== Environment ==============================
- jBPM Version : jbpm 4.1
- Database : oracle(ojdbc14.jar ->Oracle JDBC Driver version - 9.0.2.0.0)
-JDK : 1.5.09
- Container : jboss 4.05 GA
- Configuration :only importing files from the jbpm.jar
lib itself? or did you create a custom config file?
- Libraries : all jbmp libraries
=== Problem description =========================
API doesn't work as expected because the class HistoryActivityInstanceQuery not executes criteria orders (for example: PROPERTY_STARTTIME, or PROPERTY_EXECUTIONID). If look the hibernate log we see that it does not appear the query criteria ordered.
log:
Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797'
- In this query not exists criteria order. This query must be:
Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797' order by historyact0_.START_ desc
-However, in the other AbstractQuery implementations (ProcessDefinitionQueryImpl or ProcessInstanceQueryImpl) works correctly and I think it's because in the hql construction the method don`t invoke to appender order clause. For example I look the appendOrderByClause method is invoked in the org.jbpm.pvm.internal.query.ProcessInstanceQueryImpl.hql()
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4261414#4261414
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4261414
14 years, 8 months
[jBPM Development] - Criteria ordered not execute on the HistoryActivityInstanceQ
by NAKHO
=== Environment ==============================
- jBPM Version : jbpm 4.1
- Database : oracle(ojdbc14.jar ->Oracle JDBC Driver version - 9.0.2.0.0)
-JDK : 1.5.09
- Container : jboss 4.05 GA
- Configuration :only importing files from the jbpm.jar
lib itself? or did you create a custom config file?
- Libraries : all jbmp libraries
=== Problem description =========================
API doesn't work as expected because the class HistoryActivityInstanceQuery not executes criteria orders (for example: PROPERTY_STARTTIME, or PROPERTY_EXECUTIONID). If look the hibernate log we see that it does not appear the query criteria ordered.
log:
Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797'
- In this query not exists criteria order. This query must be:
Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797' order by historyact0_.START_ desc
-However, in the other AbstractQuery implementations (ProcessDefinitionQueryImpl or ProcessInstanceQueryImpl) works correctly and I think it's because in the hql construction the method don`t invoke to appender order clause. For example I look the appendOrderByClause method is invoked in the org.jbpm.pvm.internal.query.ProcessInstanceQueryImpl.hql()
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4261413#4261413
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4261413
14 years, 8 months