Uploaded image for project: 'JITL - JobScheduler Integrated Template Library'
  1. JITL - JobScheduler Integrated Template Library
  2. JITL-282

JMS Integration with Message Service (ApacheMQ)





      • Users who operate a Message Service want to integrate their applications with JobScheduler. Patterns for Enterprise Application Integration (EAI) include:
        • Applications send job start requests to JobScheduler.
        • Applications receive processing results from jobs and job chains executed with JobScheduler.
      • Such EAI scenarios provide the following advantages:
        • reduce complexity
          • at a the topological level, i.e. each application implements only one interface to the Message Servcice.
          • of error handling as a Message Service would be considered to be highly available.
        • manage messages centrally
      • The JMS integration scenario includes a separate Java based consumer to be implemented in order to receive and parse messages and to translate messages received into job start requests. The reasons for this decision are:
        • JMS is certainly standardized, however, the content and format of messages requires individual parsing.
        • JobScheduler offers an XML command interface that can be used by any consumer to request job starts.

      Szenario 1: Detached JobScheduler JMS Interface
      1. Use Case

      • An application prompts JobScheduler to start a job.

      2. Producer

      • Creates a text message in the XML format for the queue "JobChains". The content of the message can be e.g.:
        <add_order job_chain='REL_PATH/JOBCHAIN_NAME' at='now'></add_order>
      • sends the message to the specific queue

      3. Consumer

      • Reads a message from the queue „JobChains" and sends the XML snippet via TCP/UDP to a JobScheduler instance

      Szenario 2: Generic JobScheduler JMS Interface

      1. Use Case

      • A Java job runs in a job chain and implements the Producer to send information to the Message Service after completion of a number of job nodes in a job chain.
      • A Java job runs in a job chain and implements the Consumer, i.e. connects to the Message Service to check for new messages that include possible job start requests.
      • The Producer as well as the Consumer run in any job chain.

      2. Producer

      • Producer: Jobs sends some information to a message queue to signal completion of a job chain.

      3. Consumer

      • Consumer: Reads JobScheduler XML API command from a message and hands over the XML command to JobScheduler for execution.


      • The implementation is independent from the JobScheduler release and consists of Java examples that are separately available with the below articles.
      • A number of articles in the Product Knowledge Base describe the implementation for each scenario.


        Issue Links



              sp Santiago Aucejo Petzoldt
              sp Santiago Aucejo Petzoldt
              Andreas Püschel Andreas Püschel
              0 Vote for this issue
              2 Start watching this issue