An Overview of Using MAX JOBS, FLOW LIMIT and ACTIVATION LIMIT For Process Configuration

By | June 28, 2014

Many people are unclear and confused about the difference and usage scenarios of MAX JOBS, FLOW LIMIT and ACTIVATION LIMIT while configuring processes at the time of deploying an EAR. In this tutorial, I am going to explain the difference between these parameters and will discuss their usage scenarios in detail.


This parameter specified the maximum number of process instances that can concurrently be loaded into memory. For example, If you set the value of MAX JOB as 5 for a certain process in its configuration; at a time 5 process instances of this process can reside in memory as shown in the diagram below:

using max job in tibco process configuration

The value to be set for MAX JOB parameter depends on your available memory resources. The number of process instances to reside in memory should be limited keeping in mind the total memory available in order to avoid memory shortage issues in production environment.

However in situations where memory pool is quite high and there is no fear of memory shortage, you can specify value of MAX JOB as 0 (zero). In this case, unlimited numbers of process instances get loaded in the memory without any paging done.


The value of FLOW LIMIT specifies the maximum number of concurrently running process instance to start before suspending the process starter for a certain process.

Once a process engine reaches to the value of FLOW LIMIT; It goes into the FLOW_CONTROLLED state in which new process instances don’t get created and only existing process instances keep on running to their completion.  Once the number of running process instances drops to the half of the value of FLOW LIMIT; process engine leaves FLOW_CONTROLLED state and process instances continue to start again.


Activation limit flag specifies that once a process instance is loaded in the memory; It must reside in memory till the time its execution is completed.  This flag is useful if we wish to process the incoming requests in sequential manner or if you want to enforce limited concurrent execution of process instances.

Understanding the effects of configurations of MAX JOB, FLOW LIMIT and ACTIVATION LIMIT:

Let’s take different combinations of the configuration values for MAX JOB, FLOW LIMIT and ACTIVATION LIMIT and see how processing of requests by TIBCO process engine is impacted by these values:

Scenario 1: Unlimited Process Instances can be created and Loaded

If available memory pool is very high compared to the incoming requests landing on a TIBCO server, you can specify the values of MAX JOB and FLOW LIMIT as Zero. ACTIVATION LIMIT flag becomes inapplicable in such scenario:

max job and flow limit zero value


Scenario 2: Limited Process Instance creation with no paging:

In the scenario shown in the diagram below, n number of process instances can be created before placing the engine in FLOW_CONTROLLED state. There is no limit on in memory placing of process instances as value of MAX JOB is set to zero:

limited process instances with no paging

Scenario 3: Only a certain number of created process instances loaded in memory:

In the scenario shown below, out of n process instances created, only 1 can be loaded in memory at a time where it resides till completion of its execution. Sequential execution is ensured by setting the activation limit flag:

n number of process instances created and m number of instances to load in memory

Ajmal Abbasi

Ajmal Hussain Abbasi is Integration Consultant By Profession with more than 7 years experience in TIBCO products. He has extensive practical knowledge of TIBCO Business Works, TIBCO Spotfire, TIBCO BE, EMS and TIBCO ActiveSpaces. He has worked on a number of highly critical integration projects in Telecom sector by using his skills in Tibco Designer, Adapters, TIBCO EMS, RV, Administrator, TIBCO BE, TIBCO ActiveSpaces etc.
Ajmal Abbasi is also experienced in developing solutions using Oracle PL/Sql, Linux and Java.
You can contact Ajmal Abbasi for Consultancy, Technical Assistance and Technical Discussions.

More Posts - Website - Facebook - LinkedIn

11 thoughts on “An Overview of Using MAX JOBS, FLOW LIMIT and ACTIVATION LIMIT For Process Configuration

  1. Sathya

    Hi Bro,

    I need TIBCO training, could you please provide th trainging . please share the contact details

  2. sreenivasulu

    Hi Ajaml,

    I have one query how we can add EAR file to another or 2 admin domains by using tibco admin domain ?

  3. Pingback: Top Reasons of Poor Performance of A TIBCO BW based Project | TutorialsPedia

  4. Pingback: TIBCO BW Memory Efficient Utilization | TutorialsPedia

  5. srikanth


    How the max job and thread count is different? .could you explain it..

    Thanks in advance

    1. Tilak

      Thread count is engine level property, whereas max job is component/application level property. So lets say if thread count is 8 and max job is 5, that means only 5 threads will be created for that instance rather than 8. Whereas for any other application on same engine if maxjob is 0 then 8 threads will be created at a time.

      1. Tilak

        + In addition to same, Maxjob specify how many instances can be loaded into memory whereas thread count specify how many can be executed concurrently.

  6. shweta

    Hi Ajmal,
    I have one query. If max jobs =5 , flow limit is n and activation limit is checked then also incoming events are processes in order.
    Can you please help me for clearing the doubt

  7. Apurva

    If max jobs =10 , flow limit is n and activation limit is not checked then how the execution will be?


Leave a Reply

Your email address will not be published. Required fields are marked *