<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    exception on fork getting all outgoing transitions
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/Herbst">Sebastian Herbst</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/535160#535160">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi,</p><p>I'm still experimentig with jBPM 4.3 ran in som exeption. The goal is run the jpdl step by step, so i'm trying to get all transitions of the active nodes and signal each time which is taken. This works real good, as long i don't add concurrency. But with this diagramm i'm getting the exceptions org.jbpm.api.JbpmException: no environment to get org.jbpm.pvm.internal.session.RepositorySession.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Here is the jpdl-file:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-xml"><span class="jive-xml-tag">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>

<span class="jive-xml-tag"><span>&lt;process name="eTestDoubleFork" xmlns="</span><a class="jive-link-external-small" href="http://jbpm.org/4.3/jpdl" target="_blank">http://jbpm.org/4.3/jpdl</a><span>"&gt;</span></span>

&#160;&#160;&#160; <span class="jive-xml-tag">&lt;start g="259,3,80,40" name="Start"&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition to="wait"/&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/start&gt;</span>

&#160;&#160;&#160; <span class="jive-xml-tag">&lt;state g="244,93,80,40" name="wait"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-39,-20" name="to fork" to="fork1"/&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/state&gt;</span>

&#160;&#160;&#160; <span class="jive-xml-tag">&lt;state g="462,191,80,40" name="park"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-46,-20" name="to fork2" to="fork2"/&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/state&gt;</span>
&#160;&#160;&#160; 
&#160;&#160; <span class="jive-xml-tag">&lt;state g="137,345,92,52" name="home"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-60,-12" name="to state 3" to="state3"/&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;/state&gt;</span>
&#160;&#160;&#160; 
&#160;&#160; <span class="jive-xml-tag">&lt;end g="311,495,48,48" name="end1"/&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;fork g="266,186,48,48" name="fork1"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-41,4" name="toHome" to="home"/&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-39,-20" name="toPark" to="park"/&gt;</span> 
&#160;&#160; <span class="jive-xml-tag">&lt;/fork&gt;</span>
 

&#160; <span class="jive-xml-tag">&lt;fork g="478,343,48,48" name="fork2"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-50,-20" name="to state1" to="state1"/&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="18,4" name="to state2" to="state2"/&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;/fork&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;state g="290,343,92,52" name="state1"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-20,-14" name="to end state1" to="end1"/&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;/state&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;state g="457,490,92,52" name="state2"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition g="-45,-20" name="to end state2" to="end1"/&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;/state&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;state name="state3" g="146,461,92,52"&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;transition name="to end state3" to="end1" g="-43,5"/&gt;</span>
&#160;&#160; <span class="jive-xml-tag">&lt;/state&gt;</span>

<span class="jive-xml-tag">&lt;/process&gt;</span>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>And here the code I'm running:</p><p>Workflow.java</p><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> Workflow <font color="navy"><b>implements</b></font> Serializable
<font color="navy">{</font>
&#160;&#160;&#160; <font color="navy"><b>private</b></font> <font color="navy"><b>static</b></font> Configuration jbpmConfiguration = <font color="navy"><b>new</b></font> Configuration().setResource(<font color="red">"my.jbpm.cfg.xml"</font>);
&#160;&#160;&#160; <font color="navy"><b>private</b></font> Map&lt;String, Object&gt; variables = <font color="navy"><b>new</b></font> HashMap&lt;String, Object&gt;();
&#160;&#160;&#160; <font color="navy"><b>private</b></font> ProcessEngine processEngine;&#160;&#160;&#160; 
&#160;&#160;&#160; <font color="navy"><b>private</b></font> RepositoryService repositoryService;
&#160;&#160;&#160; <font color="navy"><b>private</b></font> ExecutionService executionService;
&#160;&#160;&#160; <font color="navy"><b>private</b></font> NewDeployment newDeployment;
&#160;&#160;&#160; <font color="navy"><b>private</b></font> String deploymentDbid;
&#160;&#160;&#160; <font color="navy"><b>private</b></font> HistoryService historyService;
&#160;
&#160;&#160;&#160; 
&#160;&#160;&#160; <font color="navy"><b>public</b></font> Workflow()
&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; processEngine = jbpmConfiguration.buildProcessEngine();
&#160;&#160;&#160;&#160;&#160;&#160;&#160; repositoryService = processEngine.getRepositoryService();
&#160;&#160;&#160;&#160;&#160;&#160;&#160; executionService = processEngine.getExecutionService();
&#160;&#160;&#160;&#160;&#160;&#160;&#160; deploymentDbid = addNewDeployment(<font color="red">"test/eTestDoubleFork.jpdl.xml"</font>);
&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160; 
&#160;&#160;&#160; <font color="navy"><b>public</b></font> String addNewDeployment(String jpdl_file)
&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; NewDeployment newDeployment = repositoryService.createDeployment().addResourceFromClasspath(jpdl_file);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; String deploymentDbid = newDeployment.deploy();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> deploymentDbid;
&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160; 
&#160;
&#160;&#160;&#160; <font color="navy"><b>public</b></font> ProcessInstance startProcessInstance(String processInstanceKey)
&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(repositoryService.getResourceNames(deploymentDbid));
&#160;&#160;&#160;&#160;&#160;&#160;&#160; ProcessInstance processInstance = executionService.startProcessInstanceByKey(processInstanceKey, variables);&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> processInstance;
&#160;&#160;&#160; <font color="navy">}</font>
&#160;
&#160;&#160;&#160; <font color="navy"><b>public</b></font> ProcessInstance nextState(ProcessInstance processInstance, Transition transition)
&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; List&lt;Transition&gt; transitions = getTransitiones(processInstance);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>if</b></font>(transitions.contains(transition))
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Execution execution = searchTransitionExecution(processInstance, transition);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; processInstance = executionService.signalExecutionById(execution.getId(), transition.getName());
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> processInstance;
&#160;&#160;&#160; <font color="navy">}</font>
&#160;
&#160;&#160;&#160; <font color="navy"><b>private</b></font> Execution searchTransitionExecution(ProcessInstance processInstance, Transition transition)
&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Execution mainExecution = processInstance.getProcessInstance();
&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>if</b></font>(!mainExecution.getExecutions().isEmpty())
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>for</b></font>(Execution exe : mainExecution.getExecutions())
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>try</b></font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>if</b></font>(((ExecutionImpl)exe).getActivity().getOutgoingTransitions().contains(transition))
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; mainExecution = exe;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>break</b></font>;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>catch</b></font>(Exception e)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(exe.getName() + <font color="red">":"</font> + e);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> mainExecution;
&#160;&#160;&#160; <font color="navy">}</font>
&#160;
&#160;&#160;&#160; <font color="navy"><b>public</b></font> Set&lt;String&gt; getStateName(ProcessInstance processInstance)
&#160;&#160;&#160; <font color="navy">{</font>&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>if</b></font>(processInstance.isEnded())
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> <font color="navy"><b>null</b></font>;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>else</b></font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> processInstance.findActiveActivityNames();
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160; <font color="navy">}</font>
&#160;
&#160;&#160;&#160;&#160; <font color="navy"><b>public</b></font> List&lt;Transition&gt; getTransitiones(ProcessInstance processInstance)
&#160;&#160;&#160; <font color="navy">{</font>&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Execution execution;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; List&lt;Transition&gt; stateList = <font color="navy"><b>new</b></font> ArrayList&lt;Transition&gt;();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>for</b></font>(String exName : processInstance.findActiveActivityNames())
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; execution = processInstance.findActiveExecutionIn(exName);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; stateList.addAll(getTransitiones(execution));
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> stateList;
&#160;&#160;&#160; <font color="navy">}</font>
&#160;
&#160;&#160;&#160;&#160; <font color="navy"><b>public</b></font> List&lt;Transition&gt; getTransitiones(Execution execution)
&#160;&#160;&#160; <font color="navy">{</font>&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; List&lt;Transition&gt; list = <font color="navy"><b>new</b></font> ArrayList&lt;Transition&gt;();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ExecutionImpl exeImpl = (ExecutionImpl)execution;
 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>try</b></font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ActivityImpl activImpl = exeImpl.getActivity();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; list = activImpl.getOutgoingTransitions();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>catch</b></font>(Exception e)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(execution.getName() + <font color="red">":"</font> + e);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>return</b></font> list;
&#160;&#160;&#160; <font color="navy">}</font>
<font color="navy">}</font>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>start.java</p><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> Start 
<font color="navy">{</font>
&#160;&#160;&#160; <font color="navy"><b>public</b></font> <font color="navy"><b>static</b></font> <font color="navy"><b>void</b></font> main(String[] args) 
&#160;&#160;&#160; <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="darkgreen">// Setze Workflow-Engine auf</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Workflow wf = <font color="navy"><b>new</b></font> Workflow();
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="darkgreen">// Setze Workflow auf und starte eine Instanz</font>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; wf.addNewDeployment(<font color="red">"jBPM_to_W3LJ2/eTestDoubleFork.jpdl.xml"</font>);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; ProcessInstance processInstance = wf.startProcessInstance(<font color="red">"eTestDoubleFork"</font>);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; String processInstanceId = processInstance.getId();
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; String processDefinitionId = processInstance.getProcessDefinitionId();
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"1------------------------------"</font>);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"Befinde mich in State : "</font> + wf.getStateName(processInstance));
&#160;&#160;&#160;&#160;&#160;&#160;&#160; List&lt;Transition&gt; transitions = wf.getTransitiones(processInstance);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"Ausgehenden Transitionen : "</font> + transitions.toString());
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Transition trans = transitions.get(0);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"W&auml;hle Transition : "</font> + trans.getName());
&#160;&#160;&#160;&#160;&#160;&#160;&#160; processInstance = wf.nextState(processInstance, trans);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"Befinde mich nun in State : "</font> + wf.getStateName(processInstance));
&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"2------------------------------"</font>);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; transitions = wf.getTransitiones(processInstance);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"Ausgehenden Transitionen : "</font> + transitions.toString());
&#160;&#160;&#160;&#160;&#160;&#160;&#160; trans = transitions.get(0);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"W&auml;hle Transition : "</font> + trans.getName());
&#160;&#160;&#160;&#160;&#160;&#160;&#160; processInstance = wf.nextState(processInstance, trans);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"Befinde mich nun in State : "</font> + wf.getStateName(processInstance));
&#160;&#160;&#160; 
&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"3------------------------------"</font>);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; transitions = wf.getTransitiones(processInstance);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"Ausgehenden Transitionen : "</font> + transitions.toString());
&#160;&#160;&#160;&#160;&#160;&#160;&#160; trans = transitions.get(0);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"W&auml;hle Transition : "</font> + trans.getName());
&#160;&#160;&#160;&#160;&#160;&#160;&#160; processInstance = wf.nextState(processInstance, trans);
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"Befinde mich nun in State : "</font> + wf.getStateName(processInstance));
&#160;&#160; 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(<font color="red">"History States : "</font> + wf.getHistoryToString(processInstanceId, processDefinitionId));
&#160;&#160;&#160; <font color="navy">}</font>
&#160;
<font color="navy">}</font>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>It works until </p><pre ___default_attr="java" jivemacro="code">System.out.println("3------------------------------");<br/><span style="font-family: arial,helvetica,sans-serif;">After that line I'm getting not all transitions.</span><br/><span style="font-family: arial,helvetica,sans-serif;"><br/>Can anyone hlep me ?<br/>Thanks <br/>Sebastian</span> <br/></pre></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/535160#535160">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>