[JBoss JIRA] Resolved: (JBPM-478) Timers don't save when using ClassicQueryTranslatorFactory
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-478?page=all ]
Thomas Diesler resolved JBPM-478.
---------------------------------
Resolution: Out of Date
> Timers don't save when using ClassicQueryTranslatorFactory
> ----------------------------------------------------------
>
> Key: JBPM-478
> URL: http://jira.jboss.com/jira/browse/JBPM-478
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.0.2
> Reporter: Aleksandr Tarutin
> Assigned To: Tom Baeyens
>
> Unfortunately when using hibernate 3 with weblogic you have to use hibernate.query.factory_class=org.hibernate.hql.classic.ClassicQueryTranslatorFactory to configure hibernate because of antlr incompatibility between weblogic and hibernate.
> That causes the delete timers queries in SchedulerSession to fail with the following exception:
> org.hibernate.QueryException: query must begin with SELECT or FROM: delete [delete from org.jbpm.scheduler.exe.Timer where name = :timerName and token = :token]
> I had to modify the source code to not use the batch DML for now only in two methods that delete the timers. I'm going to modify the other code like that if we have the same issues as we go.
> The following is the code I use:
> private static final String deleteTimersQuery =
> "from org.jbpm.scheduler.exe.Timer t " +
> "where t.name = :timerName" +
> " and t.token = :token";
> public void cancelTimers(SchedulerInstance.CancelledTimer cancelledTimer) {
> try {
> Query query = session.createQuery(deleteTimersQuery);
> query.setString("timerName", cancelledTimer.getTimerName());
> query.setEntity("token", cancelledTimer.getToken());
> List timers = query.list();
> for (Iterator ti = timers.iterator(); ti.hasNext();) {
> Timer timer = (Timer) ti.next();
> session.delete(timer);
> }
> } catch (Exception e) {
> log.error(e);
> jbpmSession.handleException();
> throw new RuntimeException("couldn't delete timers '"+cancelledTimer.getTimerName()+"' on token '"+cancelledTimer.getToken().getId()+"' from the database", e);
> }
> }
> private static final String deleteTimersForProcessInstanceQuery =
> "from org.jbpm.scheduler.exe.Timer t " +
> "where t.processInstance = :processInstance";
> public void cancelTimersForProcessInstance(ProcessInstance processInstance) {
> try {
> Query query = session.createQuery(deleteTimersForProcessInstanceQuery);
> query.setEntity("processInstance", processInstance);
> List timers = query.list();
> for (Iterator ti = timers.iterator(); ti.hasNext();) {
> Timer timer = (Timer) ti.next();
> session.delete(timer);
> }
> } catch (Exception e) {
> log.error(e);
> jbpmSession.handleException();
> throw new RuntimeException("couldn't delete timers for process instance '"+processInstance+"'", e);
> }
> }
--
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
16 years, 6 months
[JBoss JIRA] Resolved: (JBPM-508) create eclipse installation script for the labs
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-508?page=all ]
Thomas Diesler resolved JBPM-508.
---------------------------------
Resolution: Out of Date
> create eclipse installation script for the labs
> -----------------------------------------------
>
> Key: JBPM-508
> URL: http://jira.jboss.com/jira/browse/JBPM-508
> Project: JBoss jBPM
> Issue Type: Feature Request
> Components: Training
> Reporter: Tom Baeyens
> Assigned To: Koen Aers
> Priority: Critical
>
> a target should be added to the jbpm.3 training build script.
> input:
> 1) location of an eclipse zip file
> 2) location of a jbpm starters kit
> those 2 input locations must be configurable with a property
> 3) the workspace can be found relative to the build script
> the script should get (with ftp) the 2 downloadable files if they are not present. the script should then extract the eclipse to a configurable (in the properties) location, install the jbpm designer plugin and copy the workspace in the eclipse directory.
> a windows .bat file should be generated in the eclipse dir that starts eclipse pointing to the proper workspace and specifying some memory like e.g. :
> @echo off
> eclipse.exe -data ${workspace.location} -Xms512m -Xmx700m
> a readme.txt besides the build.xml should give minimal instructions on how to use script.
> regards, tom.
--
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
16 years, 6 months
[JBoss JIRA] Resolved: (JBPM-445) getActorId in ProcessLog broken
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-445?page=all ]
Thomas Diesler resolved JBPM-445.
---------------------------------
Resolution: Out of Date
> getActorId in ProcessLog broken
> -------------------------------
>
> Key: JBPM-445
> URL: http://jira.jboss.com/jira/browse/JBPM-445
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.0.1, jBPM 3.0.2, jBPM 3.1 alpha 2
> Reporter: michael lawley
> Assigned To: Tom Baeyens
>
> ProcessLog.getActorId() always delegates to its parent (if any) and the comment says that getActorId is overridden in AuthenticationLog. However there is no AuthenticationLog and there is no subclass of ProcessLog that overrides getActorId so this method _always_ returns null.
> Perhaps a better approach would be to grav the actorId using Authentication.getAuthenticatedActorId(); in the ProcessLog constructor. Naturally this would require adding a new instance variable to ProcessLog.
--
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
16 years, 6 months
[JBoss JIRA] Resolved: (JBPM-453) Refactor Timer.getException() to return an Exception
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-453?page=all ]
Thomas Diesler resolved JBPM-453.
---------------------------------
Resolution: Out of Date
> Refactor Timer.getException() to return an Exception
> ----------------------------------------------------
>
> Key: JBPM-453
> URL: http://jira.jboss.com/jira/browse/JBPM-453
> Project: JBoss jBPM
> Issue Type: Feature Request
> Components: Core Engine
> Affects Versions: jBPM 3.0.1
> Reporter: Rainer Alfoeldi
> Assigned To: Tom Baeyens
>
> If an Exception occurs during the execution of a Timer the first 4000 characters of the DelegationException.printStackTrace() output is saved and the Exception itself is disgarded.
> Is it possible to extend Timer to return the caught Exception? The getException() will probably have to stay unchanged, but a new method would be very welcome.
> The background for this request is if error handling is done outside of the Timer / jBPM Workflow execution there is no way of securely finding out what really caused the problem. The root cause MIGHT be mentioned in the first 4000 characters but that is not sure. And even if it is mentioned you would have to start parsing the returned String. StackTraces differ from JVM to JVM etc. etc. Not a fun thing to do.
--
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
16 years, 6 months
[JBoss JIRA] Resolved: (JBPM-461) enhance process concurrency versus thread concurrency
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-461?page=all ]
Thomas Diesler resolved JBPM-461.
---------------------------------
Resolution: Out of Date
> enhance process concurrency versus thread concurrency
> -----------------------------------------------------
>
> Key: JBPM-461
> URL: http://jira.jboss.com/jira/browse/JBPM-461
> Project: JBoss jBPM
> Issue Type: Task
> Components: Training
> Reporter: Tom Baeyens
> Assigned To: Tom Baeyens
>
> 1) explain databases: what, why and show the db in a clustered j2ee architecture. include explanation about database connections, how they are related to transaction logs and why locking and concurrency is important for dbs
> 2) explain the jbpm data model: process definition information & process execution information
> 3) process executions are state machines. state changes are atomic operations. show how collisions can occur in case of concurrent updates to process executions. a) with a process variable, b) with token synchronization. both of these examples should be based on the fact that they first read the same data and then going to update it.
> 4) then show a picture with a server (with jbpm) and a db: on the one hand, server gets many simultanious requests. on the other hand, process execution operations should be made atomic.
--
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
16 years, 6 months
[JBoss JIRA] Resolved: (JBPM-455) NullPointerException when subprocess starts or ends
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-455?page=all ]
Thomas Diesler resolved JBPM-455.
---------------------------------
Resolution: Out of Date
> NullPointerException when subprocess starts or ends
> ---------------------------------------------------
>
> Key: JBPM-455
> URL: http://jira.jboss.com/jira/browse/JBPM-455
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Reporter: Eduardo Jimenez
> Assigned To: Tom Baeyens
>
> Imagine a scenario where process A calls process B. Process A provides "in" parameters for process B through "read" access variables, and "out" parameters through "write" access variables.
> Now imagine one of the "out" parameters is optional, say a failure code for instance (say documentation submitted with an application was imcomplete, the code indicates what part of the application was unacceptable). It might be set by process B or it might not be set.
> When jBPM notifies process A that process B is done, it tries to copy the "out" variable value from process B to process A. If the variable was never set in process B, hence its value is NULL, jBPM throws a RuntimeException because the variable cannot be created in process A with a null value.
> The same thing happens if an "in" parameter ("read" access variable) is passed to a subprocess and the variable has not been set.
> In either case, an exception should not be thrown, the variable should just not be created on the subprocess for in variables, or copied to the parent process for out variables.
--
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
16 years, 6 months
[JBoss JIRA] Resolved: (JBPM-471) createVariableInstance trying to serialize Hibernate objects
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-471?page=all ]
Thomas Diesler resolved JBPM-471.
---------------------------------
Resolution: Out of Date
> createVariableInstance trying to serialize Hibernate objects
> ------------------------------------------------------------
>
> Key: JBPM-471
> URL: http://jira.jboss.com/jira/browse/JBPM-471
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Reporter: Derek Cornelius
> Assigned To: Tom Baeyens
>
> If an object is loaded by Hibernate that does not implement Serializable and then a variable instance is created, JBPM will try to serialize the object which causes and exception.
> If the Hibernate object is Serializable, then the JBPM serializes the Hibernate session information. When the object is reloaded, exceptions occurs when the lazily loaded collections are accessed or the CGLib generated class does not exist.
> Looks like the problem is in createVariableInstance, the check should be done for Hibernate objects before Serializable objects.
--
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
16 years, 6 months