IllegalArgumentException: null source - basic jbpm fails on startup
coralfe Nov 6, 2008 2:58 PMI'm trying to get jbpm setup with seam but it is falling over on startup.
I'm a bit lost on where to trouble shoot this stacktrace. Is my datasource bad?
Datasource like others in src/main/resources of ejb
<!DOCTYPE datasources PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN" "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd"> <datasources> <local-tx-datasource> <jndi-name>XYZDesignerDatasource</jndi-name> <connection-url>jdbc:mysql://localhost:3306/tn</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>un</user-name> <password>pw</password> <!-- Surviving Connection Closure --> <check-valid-connection-sql>select 1</check-valid-connection-sql> </local-tx-datasource> <xa-datasource> <jndi-name>jbpmDatasource</jndi-name> <track-connection-by-tx/> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class > <xa-datasource-property name="URL">jdbc:mysql://localhost:3306/jbpm</xa-datasource-property> <user-name>un</user-name> <password>pw</password> </xa-datasource> </datasources>
Some of hibernate config:
<hibernate-configuration> <session-factory> <property name="show_sql">true</property> <property name="connection.datasource">java:/jbpmDatasource</property> <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property> <property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property> <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property> <property name="hbm2ddl.auto">create-drop</property> ...
Process Definition
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:jbpm.org:jpdl-3.2 http://jbpm.org/xsd/jpdl-3.2.xsd" name="StrategyMapWorkFlow" > <start-state name="alterStrategyBubble"> <transition to="editStrategy"/> </start-state> <task-node name="editStrategy"> <task name="edit" description="Prepare for changes"> <assignment actor-id="#{actor.id}"/> <event type="task-end"> <action expression="#{actionItemManager. ...}"/> </event> </task> <transition name="complete" to="notify"> <action expression="#{strategyMapViewBean.changeRequired}"/> </transition> <transition name="cancel" to="cancelled"/> </task-node> <end-state name="complete"/> <end-state name="cancelled"/> </process-definition>
jbpm config
<jbpm-configuration> <jbpm-context> <service name="persistence"> <factory> <bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory"> <field name="isTransactionEnabled"><false/></field> </bean> </factory> </service> <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" /> </jbpm-context> </jbpm-configuration>
Start up creating tables and then falling over with
5:38:12,573 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces} 15:38:13,476 INFO [STDOUT] Hibernate: select processdef0_.ID_ as ID1_192_, processdef0_.NAME_ as NAME3_192_, processdef0_.DESCRIPTION_ as DESCRIPT4_192_, processdef0_.VERSION_ as VERSION5_192_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_192_, processdef0_.STARTSTATE_ as STARTSTATE7_192_ from JBPM_PROCESSDEFINITION processdef0_ where processdef0_.NAME_=? order by processdef0_.VERSION_ desc limit ? 15:38:13,696 ERROR [STDERR] java.lang.IllegalArgumentException: null source 15:38:13,697 ERROR [STDERR] at java.util.EventObject.<init>(EventObject.java:38) 15:38:13,697 ERROR [STDERR] at javax.sql.StatementEvent.<init>(StatementEvent.java:39) 15:38:13,697 ERROR [STDERR] at com.mysql.jdbc.jdbc2.optional.JDBC4PreparedStatementWrapper.close(JDBC4PreparedStatementWrapper.java:70) 15:38:13,697 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrappedStatement.internalClose(WrappedStatement.java:590) 15:38:13,697 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrappedStatement.close(WrappedStatement.java:75) 15:38:13,697 ERROR [STDERR] at org.hibernate.jdbc.AbstractBatcher.closePreparedStatement(AbstractBatcher.java:534) 15:38:13,697 ERROR [STDERR] at org.hibernate.jdbc.AbstractBatcher.closeStatement(AbstractBatcher.java:269) ... 15:38:13,709 ERROR [GraphSession] java.lang.IllegalArgumentException: null source 15:38:13,718 ERROR [[/]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.bpm.jbpm at org.jboss.seam.Component.newInstance(Component.java:1986) at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304) at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278) at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:95) at org.jboss.seam.init.Initialization.init(Initialization.java:596) at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) ... Caused by: java.lang.RuntimeException: could not deploy a process definition at org.jboss.seam.bpm.Jbpm.installProcessDefinitions(Jbpm.java:258) at org.jboss.seam.bpm.Jbpm.startup(Jbpm.java:72) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.seam.util.Reflections.invoke(Reflections.java:21) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125) at org.jboss.seam.Component.callComponentMethod(Component.java:2092) at org.jboss.seam.Component.callCreateMethod(Component.java:2015) at org.jboss.seam.Component.newInstance(Component.java:1976) ... 141 more Caused by: org.jbpm.JbpmException: couldn't find process definition 'StrategyMapWorkFlow' at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:170) at org.jbpm.db.GraphSession.deployProcessDefinition(GraphSession.java:67) at org.jbpm.JbpmContext.deployProcessDefinition(JbpmContext.java:173) at org.jboss.seam.bpm.Jbpm.deployProcess(Jbpm.java:274) at org.jboss.seam.bpm.Jbpm.installProcessDefinitions(Jbpm.java:252) ... 151 more Caused by: java.lang.IllegalArgumentException: null source at java.util.EventObject.<init>(EventObject.java:38) at javax.sql.StatementEvent.<init>(StatementEvent.java:39) at com.mysql.jdbc.jdbc2.optional.JDBC4PreparedStatementWrapper.close(JDBC4PreparedStatementWrapper.java:70) at org.jboss.resource.adapter.jdbc.WrappedStatement.internalClose(WrappedStatement.java:590) at org.jboss.resource.adapter.jdbc.WrappedStatement.close(WrappedStatement.java:75)
Can anyone give direction?