<!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;">
    Close ProcessEngine upon BPM console undeployment
</h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/swiderski.maciej">Maciej Swiderski</a> in <i>jBPM Development</i> - <a href="http://community.jboss.org/message/550455#550455">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><blockquote class="jive-quote"><p>Alejandro Guizar wrote:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The process engine needs to be closed by the module that created it. In JBoss AS this is already covered since jBPM is deployed as a service. The JbpmService bean correctly closes the engine on stop.</p></blockquote><p>I agree if you deploy jbpm and console as stand alone process engine, but what in case when there is application (user webapp) using jbpm and console is only for administration purpose and does not need to be running all the time? Then in my opinion web app should be the owner of the process engine and not the console. This is what I meant in my previous post.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><p>Alejandro Guizar wrote:</p><blockquote class="jive-quote"><p>If it comes to probable solution, we could register listeners (ServletContectListeners) for console to close down process engine on application destroy.</p></blockquote><p>This would be an option if the shared ProcessEngine could be closed on servlet context destruction, which is not possible as said before. If the servlet context listener built its own unshared engine on initialization, it could close it on destruction. Unfortunately such an engine is unreachable for the console integration components. In a typical web app it would be set&#160; as an attribute of the servlet context, but the servlet context itself is unreachable as well.</p></blockquote><p>I was thinking that it could be treated as configuration option (for example using JVM parameters) if ServletContext shall start and destroy process engine. In such case it won't be only Tomcat specific solution but could be used by any other J2EE application server.</p><p>It will be probably used when running jbpm embedded in web application, once the web app is deployed console will use already created process engine.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><p>Alejandro Guizar wrote:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>One promising alternative I want to investigate is the Tomcat <a class="jive-link-external-small" href="http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html#Adding%20Custom%20Resource%20Factories">custom resource factory</a>. There is <a class="" href="http://community.jboss.org/wiki/UsingJNDI-boundSessionFactorywithTomcat41">prior art</a> in this direction involving the Hibernate session factory.</p></blockquote><p>This sounds really good. Looking forward to results of your investigation.</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/550455#550455">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2035">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


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

</div>

</body>
</html>