<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Java program won't terminate after ProcessEngines.destroy() in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181553#M134683</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a Java class I am running with a main method like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngineConfiguration engineConfig =&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg-file-job.xml");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngine engine = engineConfig.buildProcessEngine();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("getting here");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngines.destroy();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("getting there");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // will not terminate&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The activiti.cfg-file-job.xml looks like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;beans xmlns="&lt;/SPAN&gt;&lt;A href="http://www.springframework.org/schema/beans" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans&lt;/A&gt;&lt;SPAN&gt;" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsi="&lt;/SPAN&gt;&lt;A href="http://www.w3.org/2001/XMLSchema-instance" rel="nofollow noopener noreferrer"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation="&lt;/SPAN&gt;&lt;A href="http://www.springframework.org/schema/beans" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://www.springframework.org/schema/beans/spring-beans.xsd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans/spring-beans.xsd&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;lt;bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jdbcUrl" value="jdbc:h2:file:activiti;DB_CLOSE_DELAY=1000" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jdbcDriver" value="org.h2.Driver" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jdbcUsername" value="sa" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jdbcPassword" value="" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="databaseSchemaUpdate" value="true" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!– use async executor –&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jobExecutorActivate" value="false" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="asyncExecutorEnabled" value="true" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="asyncExecutorActivate" value="true" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/beans&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My java program doesn't terminate. I assume this is because the job executor thread is still running. Is ProcessEngines.destroy() supposed to shut everything down or do I have to do that manually some other way?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 Jul 2015 05:22:37 GMT</pubDate>
    <dc:creator>louis44</dc:creator>
    <dc:date>2015-07-06T05:22:37Z</dc:date>
    <item>
      <title>Java program won't terminate after ProcessEngines.destroy()</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181553#M134683</link>
      <description>I have a Java class I am running with a main method like this:&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngineConfiguration engineConfig =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg-file-job.xml");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngine engine</description>
      <pubDate>Mon, 06 Jul 2015 05:22:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181553#M134683</guid>
      <dc:creator>louis44</dc:creator>
      <dc:date>2015-07-06T05:22:37Z</dc:date>
    </item>
    <item>
      <title>Re: Java program won't terminate after ProcessEngines.destroy()</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181554#M134684</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Louis, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;now will terminate:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public static void main(String[] args) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngineConfiguration engineConfig = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg-file-job.xml");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngines.init();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngine engine = engineConfig.buildProcessEngine();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("getting here");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessEngines.destroy();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("getting there");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // now will terminate&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jul 2015 18:36:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181554#M134684</guid>
      <dc:creator>vasile_dirla</dc:creator>
      <dc:date>2015-07-06T18:36:19Z</dc:date>
    </item>
    <item>
      <title>Re: Java program won't terminate after ProcessEngines.destroy()</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181555#M134685</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Interesting. Yes, your example does work. But why? Just because init() was called?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One side effect of this is that if I had a config file called activiti.cfg.xml, the call to ProcessEngines.init() would load that file and then later load the other activiti.cfg-file-job.xml. I end up getting what I want (the configuration in activiti.cfg-file-job.xml is used, but it seems a bit strange to load the other one first.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jul 2015 23:12:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181555#M134685</guid>
      <dc:creator>louis44</dc:creator>
      <dc:date>2015-07-06T23:12:03Z</dc:date>
    </item>
    <item>
      <title>Re: Java program won't terminate after ProcessEngines.destroy()</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181556#M134686</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;How long did you wait for the shutdown? The shutdown of the job executor can take up to a minute if it's busy.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Jul 2015 12:27:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181556#M134686</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2015-07-07T12:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: Java program won't terminate after ProcessEngines.destroy()</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181557#M134687</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The cause why shutdown was not working is because Processes.isInitialized was false. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is set to true after the ProcessEngines class is initialized (for details you could have a look into the sources of this class.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if you prefer to use ProcessEngines.destroy() then you have to call also ProcessEngines.init()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;otherwise just create the ProcessEngine instace and call the close() method of it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ProcessEngine engine = engineConfig.buildProcessEngine();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("getting here");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; engine.close();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("getting there");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;because ProcessEngines.destroy() does exactly the same but for all the processEngines registered with it.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Jul 2015 12:40:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181557#M134687</guid>
      <dc:creator>vasile_dirla</dc:creator>
      <dc:date>2015-07-07T12:40:47Z</dc:date>
    </item>
    <item>
      <title>Re: Java program won't terminate after ProcessEngines.destroy()</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181558#M134688</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Jul 2015 16:57:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/java-program-won-t-terminate-after-processengines-destroy/m-p/181558#M134688</guid>
      <dc:creator>louis44</dc:creator>
      <dc:date>2015-07-11T16:57:03Z</dc:date>
    </item>
  </channel>
</rss>

