3 Replies Latest reply on Oct 3, 2006 8:25 AM by michaelholtzman

    Specifying jbpm config xml file

    michaelholtzman

      Greetings. In order to run multiple instances of our application on the same box, we typically qualify configuration files with the database and server that we are connecting to.

      I would like to start jBPM with "database.server.jbpm.cfg.xml" as the configuration file. In my main program, which drives jBPM, I have

      static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance("database.server.jbpm.cfg.xml");
      

      which works as expected.

      However, when I start the scheduler thread, I see a log entry that
      JbpmConfiguration : using jbpm configuration resource 'jbpm.cfg.xml'
      

      even though I specify my private jbpmConfiguration in the constructor:

      public class Scheduler extends org.jbpm.scheduler.impl.Scheduler {
       private static final Log log = LogFactory.getLog(Scheduler.class);
      
       /* NOTE: This class should override the start method of jBPM's Scheduler class,
       * so we can supply our custom configuration factory.
       */
       public void start() {
       SchedulerThread schedThread = getSchedulerThread();
       log.info("Starting the scheduler thread");
       
       schedThread = new SchedulerThread(Manager.jbpmConfiguration);
      
       schedThread.setInterval(getInterval());
       schedThread.addListener(new HistoryListener());
       schedThread.start();
       log.info("Scheduler thread is running");
       }
      
       class HistoryListener implements SchedulerListener {
       public void timerExecuted(Date date, Timer timer) {
       List historyLogs = getSchedulerHistoryLogs();
       historyLogs.add(new SchedulerHistoryLog(date, timer));
       if (historyLogs.size() > getHistoryMaxSize()) {
       ((LinkedList)historyLogs).removeLast();
       }
       }
       }
      
      }
      


      I don't see where a new JbpmConfiguration is being created, but it is somewhere between the creation and start of the scheduler thread.

      How can I specify that one particular configuration file is to be used for the creation of all jBPM contexts and services? Thanx.