<!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">JBoss 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;">
    Lazy loading of sub-process
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/Spiga">Fabio Spiga</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/553601#553601">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 all,</p><p>I have a problem in getting a subprocess reference from the main process instance.</p><p>My code is the following:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: courier new,courier;">ProcessInstance processInstance = executionService.startProcessInstanceByKey("RPG");<br/>ExecutionImpl ex_pi = ((ExecutionImpl) processInstance).findActiveExecutionIn("integr_doc");<br/>ProcessInstance sub_pi = ex_pi.getSubProcessInstance();&#160;&#160;&#160; <br/>assertNotNull(sub_pi);</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>where "integr_doc" is the name of a subprocess</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The call to "getSubProcessInstance()" is succesful, but the object "sub_pi" throws an Exception if I try to read any property of it because it was lazy initialized and the session has been closed.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I get the following exception:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: courier new,courier;">org.hibernate.LazyInitializationException &lt;init&gt;<br/>GRAVE: could not initialize proxy - no Session<br/>org.hibernate.LazyInitializationException: could not initialize proxy - no Session</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In order to resolve this problem, I have found only one solution: modifying the "jbpm.execution.hbm.xml" in "jbpm.jar" by adding the attribute "lazy=false" to the foreign-key "FK_EXEC_SUBPI".</p><p>This is a very awful solution because I had to modify the original library!</p><p>If I put a copy of "jbpm.execution.hbm.xml" in the classpath (in order to not modify the original library), JBoss AS try to map jBPM entity beans before the related classes are loaded, so it fails to start.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Is there a way to get a subprocess instance more gracefully?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thank you in advance and sorry for my long thread...</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Fabio</p></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/553601#553601">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>