- 
        1. Re: How to Create Task without Process Instance?tom.baeyens Sep 7, 2005 3:34 AM (in response to kukeltje)jbpm is designed for supporting tasks that are not related to a process. that is never tested though. 
 ronald, it can be usefull to have 1 centralized tasklist for many applications. so that the tasks of other applications show up in one UI. (it would have to be a custom UI cause jbpm webapp can't generate links to other apps for the non-jbpm task instances)
 TaskInstance taskInstance = new TaskInstance();
 taskInstance.setActorId("you");
 taskInstance.set...
 jbpmSession.getSession().save(taskInstance);
 regards, tom.
- 
        2. Re: How to Create Task without Process Instance?julian_k Sep 9, 2005 12:04 AM (in response to kukeltje)Tom, 
 I tried as you suggested and it does not seem to persist to the database. Here is my code and debug output. I don't see any errors, but would appreciate your input. I also tried this without adding a Task to the TaskInstance.
 Thanks,
 JulianTaskInstance taskInstance = new TaskInstance(); taskInstance.setName(taskName); Task task = new Task(); task.setDescription(taskDescription); task.setName(taskName); task.setPriority(Integer.parseInt(taskPriority)); taskInstance.setTask(task); taskInstance.setActorId(actorId); Long longValue = jbmpSession.getSession().save(taskInstance); jbpmSession.close(); 2005-09-08 23:56:45,091 [http-8080-Processor23] DEBUG org.hibernate.impl.SessionImpl.<init> at line 250 - opened session at timestamp: 4613071688052736 2005-09-08 23:56:45,101 [http-8080-Processor23] DEBUG org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient at line 159 - saving transient instance 2005-09-08 23:56:45,101 [http-8080-Processor23] DEBUG org.hibernate.jdbc.AbstractBatcher.logOpenPreparedStatement at line 290 - about to open PreparedStatement (open PreparedStatements: 0, globally: 0) 2005-09-08 23:56:45,101 [http-8080-Processor23] DEBUG org.hibernate.jdbc.ConnectionManager.openConnection at line 296 - opening JDBC connection 2005-09-08 23:56:45,101 [http-8080-Processor23] DEBUG org.hibernate.SQL.log at line 324 - select nextval ('hibernate_sequence') Hibernate: select nextval ('hibernate_sequence') 2005-09-08 23:56:45,101 [http-8080-Processor23] DEBUG org.hibernate.jdbc.AbstractBatcher.getPreparedStatement at line 378 - preparing statement 2005-09-08 23:56:45,111 [http-8080-Processor23] DEBUG org.hibernate.id.SequenceGenerator.generate at line 87 - Sequence identifier generated: 77 2005-09-08 23:56:45,111 [http-8080-Processor23] DEBUG org.hibernate.jdbc.AbstractBatcher.logClosePreparedStatement at line 298 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1) 2005-09-08 23:56:45,111 [http-8080-Processor23] DEBUG org.hibernate.jdbc.AbstractBatcher.closePreparedStatement at line 416 - closing statement 2005-09-08 23:56:45,111 [http-8080-Processor23] DEBUG org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId at line 100 - generated identifier: 77, using strategy: org.hibernate.id.SequenceGenerator 2005-09-08 23:56:45,111 [http-8080-Processor23] DEBUG org.hibernate.event.def.AbstractSaveEventListener.performSave at line 133 - saving [org.jbpm.taskmgmt.exe.TaskInstance#77] 2005-09-08 23:56:45,111 [http-8080-Processor23] DEBUG org.hibernate.engine.Cascades.cascade at line 836 - processing cascade ACTION_SAVE_UPDATE for: org.jbpm.taskmgmt.exe.TaskInstance 2005-09-08 23:56:45,111 [http-8080-Processor23] DEBUG org.hibernate.engine.Cascades.cascade at line 861 - done processing cascade ACTION_SAVE_UPDATE for: org.jbpm.taskmgmt.exe.TaskInstance 2005-09-08 23:56:45,131 [http-8080-Processor23] DEBUG org.hibernate.engine.Cascades.isUnsaved at line 526 - id unsaved-value: 0 2005-09-08 23:56:45,141 [http-8080-Processor23] DEBUG org.hibernate.engine.Cascades.cascade at line 836 - processing cascade ACTION_SAVE_UPDATE for: org.jbpm.taskmgmt.exe.TaskInstance 2005-09-08 23:56:45,141 [http-8080-Processor23] DEBUG org.hibernate.engine.Cascades.cascade at line 861 - done processing cascade ACTION_SAVE_UPDATE for: org.jbpm.taskmgmt.exe.TaskInstance 2005-09-08 23:56:45,151 [http-8080-Processor23] DEBUG org.hibernate.impl.SessionImpl.close at line 269 - closing session 2005-09-08 23:56:45,151 [http-8080-Processor23] DEBUG org.hibernate.jdbc.ConnectionManager.closeConnection at line 317 - closing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)] 2005-09-08 23:56:45,151 [http-8080-Processor23] DEBUG org.hibernate.jdbc.JDBCContext.afterTransactionCompletion at line 283 - after transaction completion 2005-09-08 23:56:45,151 [http-8080-Processor23] DEBUG org.hibernate.impl.SessionImpl.afterTransactionCompletion at line 403 - after transaction completion
- 
        3. Re: How to Create Task without Process Instance?tom.baeyens Sep 10, 2005 6:18 AM (in response to kukeltje)i have added this test to the org.jbpm.taskmgmt.exe.TaskInstanceDbTest and it seems to work for me: 
 public void testTaskInstanceUnrelatedToAProcess() {
 TaskInstance taskInstance = new TaskInstance("do laundry", "someoneelse");
 session.save(taskInstance);
 long id = taskInstance.getId();
 newTransaction();
 taskInstance = (TaskInstance) session.load(TaskInstance.class, new Long(id));
 assertNotNull(taskInstance);
 assertEquals("do laundry", taskInstance.getName());
 assertEquals("someoneelse", taskInstance.getActorId());
 }
 maybe it has to do with flushing... one thing that might help is a tip for inspecting the hsqldb database while debugging: put this string in the "Display" window and press CTRL+SHIFT D (=Display). Now the hsql database manager should appear with the data of the runtime in memory data.
 regards, tom.
- 
        4. Re: How to Create Task without Process Instance?julian_k Sep 10, 2005 1:54 PM (in response to kukeltje)Tom, 
 I have been using the Spring jBPM module, and it appears that the problem is with transactions. I am not sure at this point if it is my spring xml configs or the code itself. Either way, I can verify that this code works b/c I programatically opened a Hibernate Transaction and flushed it, after which all was working as expected. Thanks for the help!
 Regards,
 Julian
 
     
    