<?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 Re: Scaling activiti in large deployments? in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112040#M78822</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The issue is that its not servicing requests via HTTP, it is sitting in a normal Java application which is being run from the command line. The process itself is single-threaded starting from a static main(). So the only thread in the application is the one started when the application starts. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the Spring configuration the processEngine is started and I am assuming that in 5.9 for things that receive messages it isn't starting new threads for processes to receive messages so all of the data. So the entire process exists in the context of a single thread. If I device to write an adapter to convert JMS messages into messages that will be passed to processes, unless I spawn multiple listeners/threads, Activiti is only running within the constraints of the single thread that the application is using.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Outside of JobExecuter which manages threads for timers and such, I don't see Activiti itself spawning any threads. It doesn't bring any threadpool to the table as far as I can tell. So from the prospective of Activiti, I am assuming that it always runs within the context of the Thread which is making calls to it - that it doesn't parallelize anything on its own. Consequently in order to scale activiti I need to bring my own server threading model to Activiti since it doesn't provide one itself… it is itself "as scalable as the threading model you provide it".&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Mar 2012 18:22:17 GMT</pubDate>
    <dc:creator>gregorypierce</dc:creator>
    <dc:date>2012-03-22T18:22:17Z</dc:date>
    <item>
      <title>Scaling activiti in large deployments?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112036#M78818</link>
      <description>What is the best way to scale Activiti? Looking through the code, the thread model is such that a single thread handles all of the work going through the engine. There is a single instance of a processEngine and it handles everything that gets executed, but appears to be doing so in a single threade</description>
      <pubDate>Wed, 21 Mar 2012 15:54:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112036#M78818</guid>
      <dc:creator>gregorypierce</dc:creator>
      <dc:date>2012-03-21T15:54:18Z</dc:date>
    </item>
    <item>
      <title>Re: Scaling activiti in large deployments?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112037#M78819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi gregorypierce&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What do you mean with "single threaded" ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 20:23:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112037#M78819</guid>
      <dc:creator>meyerd</dc:creator>
      <dc:date>2012-03-21T20:23:00Z</dc:date>
    </item>
    <item>
      <title>Re: Scaling activiti in large deployments?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112038#M78820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When Activiti starts from my Spring application context the JVM using JVM Stat is only showing a single thread for everything request coming to the application on OSX. If I toss a lot of traffic at it will the Executor launch more threads to parallelize the requests or will they continue to be handled by a single thread? It could be that JVM Stat is just showing me some bogus information, but it appears that everything is a single thread hitting the database which is maintaining state.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Mar 2012 17:15:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112038#M78820</guid>
      <dc:creator>gregorypierce</dc:creator>
      <dc:date>2012-03-22T17:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: Scaling activiti in large deployments?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112039#M78821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I still do not get what you mean by "a single Thread", sorry &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt; But the deal is this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Let's assume you have inbound requests via HTTP. Then you Servlet container will have a Threadpool handling Http requests. If you call activiti from such a thread, it will use that thread for performing synchronous work. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition, ativiti also has a custom Threadpool for performing asynchounous work (like Timers). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In that case the max number of threads that can be active in activiti is HTTP_POOL_SIZE + JOBEXECUTOR_THREAD_POOL_SIZE.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course concurrency will be further constrained by the maximum number of database connectionsyou configure in your pool.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But of course this all greatly varies depending on the environment you embedd activiti into.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Mar 2012 17:34:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112039#M78821</guid>
      <dc:creator>meyerd</dc:creator>
      <dc:date>2012-03-22T17:34:14Z</dc:date>
    </item>
    <item>
      <title>Re: Scaling activiti in large deployments?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112040#M78822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The issue is that its not servicing requests via HTTP, it is sitting in a normal Java application which is being run from the command line. The process itself is single-threaded starting from a static main(). So the only thread in the application is the one started when the application starts. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the Spring configuration the processEngine is started and I am assuming that in 5.9 for things that receive messages it isn't starting new threads for processes to receive messages so all of the data. So the entire process exists in the context of a single thread. If I device to write an adapter to convert JMS messages into messages that will be passed to processes, unless I spawn multiple listeners/threads, Activiti is only running within the constraints of the single thread that the application is using.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Outside of JobExecuter which manages threads for timers and such, I don't see Activiti itself spawning any threads. It doesn't bring any threadpool to the table as far as I can tell. So from the prospective of Activiti, I am assuming that it always runs within the context of the Thread which is making calls to it - that it doesn't parallelize anything on its own. Consequently in order to scale activiti I need to bring my own server threading model to Activiti since it doesn't provide one itself… it is itself "as scalable as the threading model you provide it".&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Mar 2012 18:22:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/scaling-activiti-in-large-deployments/m-p/112040#M78822</guid>
      <dc:creator>gregorypierce</dc:creator>
      <dc:date>2012-03-22T18:22:17Z</dc:date>
    </item>
  </channel>
</rss>

