2 Replies Latest reply on Aug 9, 2007 3:05 AM by yair friedman

    hook the JBPM engine to JBOSS

    yair friedman Newbie

      hi,

      is there a way to attach the load the JBPM engine (to load all the Configuration of JBPM) to the JBOSS server initialization ?

      i want to save a time at the later stages of the application,
      in order that the user won't waut until the getGraphSession will finish
      20 seconds for example.....

      Thanks
      Yair

        • 1. Re: hook the JBPM engine to JBOSS
          Ronald van Kuijk Master

          sure... just build a simple starterclass or servlet or whatever that does something with the jBPM context

          • 2. Re: hook the JBPM engine to JBOSS
            yair friedman Newbie

            1. thanks for the answer
            2. i wrote a hook function :

             protected void hookFunc()
             {
             logger.debug("hookFunc::Start");
             conf = JbpmConfiguration.getInstance();
             context = conf.createJbpmContext();
             graphSession = context.getGraphSession();
             //context.close();
             logger.debug("hookFunc::End");
             }
            

            it run ok , but both option : with context.close() or without it
            resulted in an error when i tried to run continue or start a process .
            without the close it gives this error :
            09:49:19,039 INFO [STDOUT] 09:49:18,367 [Thread-25] DEBUG Log4JLogger : adding converter 'D', 'org.jbpm.context.exe.converter.DoubleToStringConverter'
            09:49:19,164 INFO [STDOUT] 09:49:19,164 [Thread-25] DEBUG Log4JLogger : adding converter 'C', 'org.jbpm.context.exe.converter.CharacterToStringConverter'
            09:49:19,179 INFO [STDOUT] 09:49:19,179 [Thread-25] DEBUG Log4JLogger : adding converter 'B', 'org.jbpm.context.exe.converter.BooleanToStringConverter'
            09:49:19,179 INFO [STDOUT] 09:49:19,179 [Thread-25] DEBUG Log4JLogger : adding converter 'Y', 'org.jbpm.context.exe.converter.BytesToByteArrayConverter'
            09:49:19,179 INFO [STDOUT] 09:49:19,179 [Thread-25] DEBUG Log4JLogger : adding converter 'A', 'org.jbpm.context.exe.converter.DateToLongConverter'
            09:49:19,195 INFO [STDOUT] 09:49:19,195 [Thread-25] DEBUG Log4JLogger : adding converter 'R', 'org.jbpm.context.exe.converter.SerializableToByteArrayConverter'
            09:49:19,211 INFO [STDOUT] 09:49:19,211 [Thread-25] DEBUG Log4JLogger : adding converter 'I', 'org.jbpm.context.exe.converter.IntegerToLongConverter'
            09:49:19,211 INFO [STDOUT] 09:49:19,211 [Thread-25] DEBUG Log4JLogger : adding converter 'H', 'org.jbpm.context.exe.converter.ShortToLongConverter'
            09:49:19,211 INFO [STDOUT] 09:49:19,211 [Thread-25] DEBUG Log4JLogger : adding converter 'G', 'org.jbpm.context.exe.converter.FloatToDoubleConverter'
            09:49:19,226 INFO [STDOUT] 09:49:19,226 [Thread-25] DEBUG Log4JLogger : adding converter 'F', 'org.jbpm.context.exe.converter.FloatToStringConverter'
            09:49:19,242 INFO [STDOUT] 09:49:19,226 [Thread-25] DEBUG Log4JLogger : adding converter 'E', 'org.jbpm.context.exe.converter.ByteToLongConverter'
            09:49:19,273 INFO [STDOUT] 09:49:19,273 [Thread-25] DEBUG LogUtil : RequestsHandler:writeTasks():End
            09:49:19,273 INFO [STDOUT] 09:49:19,273 [Thread-25] DEBUG Log4JLogger : executing default save operations
            09:49:19,304 INFO [STDOUT] 09:49:19,273 [Thread-25] DEBUG Log4JLogger : saving process instance
            09:49:19,320 INFO [STDOUT] 09:49:19,320 [Thread-25] DEBUG Log4JLogger : ignoring logs. no logging service available.
            09:49:19,320 INFO [STDOUT] 09:49:19,320 [Thread-25] DEBUG Log4JLogger : cascading save of 'org.jbpm.graph.exe.ProcessInstance@1a22e94'
            09:49:19,320 INFO [STDOUT] 09:49:19,320 [Thread-25] DEBUG Log4JLogger : closing JbpmContext
            09:49:19,320 INFO [STDOUT] 09:49:19,320 [Thread-25] DEBUG Log4JLogger : closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@13beb64
            09:49:19,320 INFO [STDOUT] 09:49:19,320 [Thread-25] DEBUG Log4JLogger : committing hibernate transaction
            09:49:19,367 INFO [STDOUT] Hibernate: insert into JBPM_TASKINSTANCE (NAME_, DESCRIPTION_, ACTORID_, CREATE_, START_, END_, DUEDATE_, PRIORITY_, ISCANCELLED_, ISSUSPENDED_, ISOPEN_, ISSIGNALLING_, ISBLOCKING_, TASK_, TOKEN_, SWIMLANINSTANCE_, TASKMGMTINSTANCE_, CLASS_, ID_) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'T', ?)
            09:49:19,383 INFO [STDOUT] Hibernate: update JBPM_TASKINSTANCE set NAME_=?, DESCRIPTION_=?, ACTORID_=?, CREATE_=?, START_=?, END_=?, DUEDATE_=?, PRIORITY_=?, ISCANCELLED_=?, ISSUSPENDED_=?, ISOPEN_=?, ISSIGNALLING_=?, ISBLOCKING_=?, TASK_=?, TOKEN_=?, SWIMLANINSTANCE_=?, TASKMGMTINSTANCE_=? where ID_=?
            09:49:19,398 INFO [STDOUT] Hibernate: update JBPM_TOKEN set VERSION_=?, NAME_=?, START_=?, END_=?, NODEENTER_=?, NEXTLOGINDEX_=?, ISABLETOREACTIVATEPARENT_=?, ISTERMINATIONIMPLICIT_=?, ISSUSPENDED_=?, NODE_=?, PROCESSINSTANCE_=?, PARENT_=?, SUBPROCESSINSTANCE_=? where ID_=? and VERSION_=?
            09:49:19,398 INFO [STDOUT] Hibernate: update JBPM_TASKINSTANCE set NAME_=?, DESCRIPTION_=?, ACTORID_=?, CREATE_=?, START_=?, END_=?, DUEDATE_=?, PRIORITY_=?, ISCANCELLED_=?, ISSUSPENDED_=?, ISOPEN_=?, ISSIGNALLING_=?, ISBLOCKING_=?, TASK_=?, TOKEN_=?, SWIMLANINSTANCE_=?, TASKMGMTINSTANCE_=? where ID_=?
            09:49:19,414 INFO [STDOUT] 09:49:19,398 [Thread-25] DEBUG BasicResourcePool : trace com.mchange.v2.resourcepool.BasicResourcePool@1ce4a29 [managed: 5, unused: 3, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@650ddb)
            09:49:19,414 INFO [STDOUT] 09:49:19,414 [Thread-25] DEBUG Log4JLogger : closing hibernate session
            09:49:19,414 INFO [STDOUT] 09:49:19,414 [Thread-25] DEBUG LogUtil : RequestsHandler:continueProcess():End
            09:49:23,117 INFO [STDOUT] 09:49:23,117 [Thread-24] DEBUG LogUtil : Read 1 records from TASKS table
            09:49:49,695 ERROR [STDERR] Exception in thread "Thread-23"
            09:49:49,695 ERROR [STDERR] java.lang.NullPointerException
            09:49:49,695 ERROR [STDERR] at java.lang.Class.forName0(Native Method)
            09:49:49,695 ERROR [STDERR] at java.lang.Class.forName(Unknown Source)
            09:49:49,695 ERROR [STDERR] at com.mts.WorkFlow.ProvisionHandler.createProvisionObject(ProvisionHandler.java:78)
            09:49:49,695 ERROR [STDERR] at com.mts.WorkFlow.ProvisionHandler.provision(ProvisionHandler.java:67)
            09:49:49,695 ERROR [STDERR] at com.mts.WorkFlow.ProvisionHandler.handleRequest(ProvisionHandler.java:25)
            09:49:49,695 ERROR [STDERR] at com.mts.WorkFlow.WorkerThread.run(WorkerThread.java:30)
            

            do u have any idea why ?
            i am preety sure it is somehow connected to the transaction.