about Jbpm scheduler
rekyll Aug 31, 2007 5:43 AMHello !
I have a problem about Jbpm scheduler.
My process definition file is:
...... <task-node name="chiefCheck"> <task name="chiefCheckTask" swimlane="chief"> <timer duedate="10 seconds" repeat="5 seconds" name="chiefCheckTimer" transition="end"> <action class="com.rathink.bpm.example.askforleave.handler.action.ChiefCheckTimerActionHandler"/> </timer> </task> <transition to="timeDecision" name="chiefCheckEnd"/> </task-node> ......
My jbpm.cfg.xml is like this:
<jbpm-context> <service name="persistence" factory="org.jbpm.persistence.db.DbPersistenceServiceFactory"/> <service name="tx" factory="org.jbpm.tx.TxServiceFactory"/> <service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory"/> <service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory"/> <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory"/> <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory"/> <service name="authorization" factory="org.jbpm.security.authorization.IdentityAuthorizationServiceFactory"/> </jbpm-context> <string name="resource.hibernate.cfg.xml" value="hibernate.cfg.xml"/> <string name="resource.business.calendar" value="org/jbpm/calendar/jbpm.business.calendar.properties"/> <string name="resource.default.modules" value="org/jbpm/graph/def/jbpm.default.modules.properties"/> <string name="resource.converter" value="org/jbpm/db/hibernate/jbpm.converter.properties"/> <string name="resource.action.types" value="org/jbpm/graph/action/action.types.xml"/> <string name="resource.node.types" value="org/jbpm/graph/node/node.types.xml"/> <string name="resource.parsers" value="org/jbpm/jpdl/par/jbpm.parsers.xml"/> <string name="resource.varmapping" value="org/jbpm/context/exe/jbpm.varmapping.xml"/> <string name="resource.mail.templates" value="jbpm.mail.templates.xml"/> <int name="jbpm.byte.block.size" value="1024" singleton="true"/> <string name="jbpm.mail.smtp.host" value="localhost"/> <bean name="jbpm.task.instance.factory" class="org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl" singleton="true"/> <bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver" singleton="true"/> <bean name="jbpm.mail.address.resolver" class="org.jbpm.identity.mail.IdentityAddressResolver" singleton="true"/> <bean name="jbpm.job.executor" class="org.jbpm.job.executor.JobExecutor"> <field name="jbpmConfiguration"> <ref bean="jbpmConfiguration"/> </field> <field name="name"> <string value="JbpmJobExector"/> </field> <field name="nbrOfThreads"> <int value="1"/> </field> <field name="idleInterval"> <int value="5000"/> </field> <field name="maxIdleInterval"> <int value="3600000"/> </field> <!-- 1 hour --> <field name="historyMaxSize"> <int value="20"/> </field> <field name="maxLockTime"> <int value="600000"/> </field> <!-- 10 minutes --> <field name="lockMonitorInterval"> <int value="60000"/> </field> <!-- 1 minute --> <field name="lockBufferTime"> <int value="5000"/> </field> <!-- 5 seconds --> </bean>
My web.xml is like this:
...... <servlet> <servlet-name>JobExecutorServlet</servlet-name> <servlet-class>com.rathink.bpm.servlet.JobExecutorServlet</servlet-class> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>JobExecutorServlet</servlet-name> <url-pattern>/jobexecutor</url-pattern> </servlet-mapping> ......
spring + jbpm config:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"> <description>JBPM Configure File</description> <bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> <property name="configuration"> <value>/WEB-INF/jbpm.cfg.xml</value> </property> <property name="createSchema"> <value>false</value> </property> </bean> <bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate"> <constructor-arg index="0" ref="jbpmConfiguration"/> </bean> </beans>
when i startup my web application, and start a process instance,
throws:
2007-08-31 17:35:43.524 [Thread: http-8080-1] org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:255) ERROR: action threw exception: service 'scheduler' unavailable org.jbpm.svc.JbpmServiceException: service 'scheduler' unavailable at org.jbpm.svc.Services.getCurrentService(Services.java:91) at org.jbpm.svc.Services.getCurrentService(Services.java:81) at org.jbpm.scheduler.def.CreateTimerAction.execute(CreateTimerAction.java:66) at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:247) at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:215) at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:185) at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:169) at org.jbpm.taskmgmt.exe.TaskInstance.create(TaskInstance.java:169) at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createTaskInstance(TaskMgmtInstance.java:149) at org.jbpm.graph.node.TaskNode.execute(TaskNode.java:168) at org.jbpm.graph.def.Node.enter(Node.java:318)
I do not know what should i do........
I have no any idea.......
I could not speak English well, sorry.
Help me, Thanks a lot!!!!