I have a "could not initialize proxy" exception in a workflow when I try to get 
the process definition id from tasks which are between a fork and a join. The 
problem doesn't occur if I have not a split/join implementation.

Process Definition:

<?xml version="1.0" encoding="UTF-8"?>
  | 
  | <process key="id" name="id" xmlns="http://jbpm.org/4.0/jpdl";>
  |    <start g="123,34,32,29" name="start1">
  |       <transition to="fork2"/>
  |    </start>
  |    <end g="137,339,120,108" name="end1"/>
  |    <join g="-52,68,42,30" name="join1"/>
  |    <fork g="126,108,46,26" name="fork2">
  |       <transition to="task1"/>
  |       <transition to="task2"/>
  |    </fork>
  |    <task assignee="test" g="70,189,71,53" name="task1">
  |       <transition to="join2"/>
  |    </task>
  |    <task assignee="test" g="167,189,83,49" name="task2">
  |       <transition to="join2"/>
  |    </task>
  |    <join g="136,262,58,45" name="join2">
  |       <transition to="end1"/>
  |    </join>
  | </process>

Test case:

package org.jbpm.examples.processdefinition.id;
  | 
  | import java.util.List;
  | import org.jbpm.api.Execution;
  | import org.jbpm.api.ProcessInstance;
  | import org.jbpm.api.task.Task;
  | import org.jbpm.test.JbpmTestCase;
  | 
  | /**
  |  * @author David Loiseau
  |  */
  | 
  | public class ProcessDefinitionIdTest extends JbpmTestCase {
  |   
  | 
  |       String deploymentId;
  |       
  |       protected void setUp() throws Exception {
  |         super.setUp();
  |         
  |         deploymentId = repositoryService.createDeployment()
  |             
.addResourceFromClasspath("org/jbpm/examples/processdefinition/id/process.jpdl.xml")
  |             .deploy();
  |       }
  | 
  |       public void testFindProcessDefinitionIdFromExecution(){
  |                     String actorName = "test";
  |                 ProcessInstance processInstance = 
executionService.startProcessInstanceByKey("id");
  |                 List<Task> tasks = taskService.findPersonalTasks(actorName);
  |                 for(Task task : tasks){
  |                     Execution execution = 
processEngine.getExecutionService().findExecutionById(task.getExecutionId());
  |                     String processDefinitionId = 
execution.getProcessInstance().getProcessDefinitionId();
  |                     assertNotNull(processDefinitionId);
  |                 }
  |       }
  | 
  |       protected void tearDown() throws Exception {
  |         repositoryService.deleteDeploymentCascade(deploymentId);
  | 
  |         super.tearDown();
  |       }
  | 
  | 
  | }
  | 

Exception:

### EXCEPTION ###########################################
  | 17:26:39,203 SEV | [BaseJbpmTestCase] TEST THROWS EXCEPTION: could not 
initialize proxy - no Session
  | org.hibernate.LazyInitializationException: could not initialize proxy - no 
Session
  |     at 
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:86)
  |     at 
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140)
  |     at 
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
  |     at 
org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_4.getProcessDefinitionId(ExecutionImpl_$$_javassist_4.java)
  |     at 
org.jbpm.examples.processdefinition.id.ProcessDefinitionIdTest.testFindProcessDefinitionIdFromExecution(ProcessDefinitionIdTest.java:32)
  |     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 junit.framework.TestCase.runTest(TestCase.java:164)
  |     at org.jbpm.test.BaseJbpmTestCase.runTest(BaseJbpmTestCase.java:80)
  |     at junit.framework.TestCase.runBare(TestCase.java:130)
  |     at junit.framework.TestResult$1.protect(TestResult.java:106)
  |     at junit.framework.TestResult.runProtected(TestResult.java:124)
  |     at junit.framework.TestResult.run(TestResult.java:109)
  |     at junit.framework.TestCase.run(TestCase.java:120)
  |     at junit.framework.TestSuite.runTest(TestSuite.java:230)
  |     at junit.framework.TestSuite.run(TestSuite.java:225)
  |     at 
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79)
  |     at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
  |     at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
  | ### EXCEPTION ###########################################anonymous wrote : 

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262224#4262224

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4262224
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to