[jbpm-users] [jBPM Users] - jBPM 4.1 - Spring Problem

nilspreusker do-not-reply at jboss.com
Thu Sep 24 06:47:53 EDT 2009


Hi,

I'm trying to integrate jBPM 4.1 with an existing spring 2.5.5 app and I'm getting the following exceptions:

  | 1) Error creating bean with name 'jbpmConfiguration' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.pvm.internal.cfg.SpringConfiguration]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError
  | 
  | 2) couldn't parse xml document : org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified.

I've been trying to figure out what is causing this, but got completely stuck at this point. I'm assuming that something is wrong with my jbpm.cfg.xml, but the same exception occurs with an empty jbpm.cfg.xml or any other config I've tested (and I've used working ones from a jBPM 4 projects).
Maybe someone has seen this before? Here is the whole stack trace:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbpmConfiguration' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.pvm.internal.cfg.SpringConfiguration]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError
  | 	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:254)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
  | 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
  | 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
  | 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
  | 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
  | 	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
  | 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
  | 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
  | 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
  | 	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
  | 	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
  | 	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
  | 	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
  | 	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
  | 	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
  | 	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
  | 	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
  | 	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
  | 	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
  | 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
  | 	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
  | 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
  | 	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
  | 	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
  | 	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
  | 	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
  | 	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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
  | 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
  | Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.pvm.internal.cfg.SpringConfiguration]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError
  | 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:115)
  | 	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
  | 	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:248)
  | 	... 41 more
  | Caused by: java.lang.ExceptionInInitializerError
  | 	at org.jbpm.pvm.internal.env.JbpmConfigurationParser.<init>(JbpmConfigurationParser.java:47)
  | 	at org.jbpm.pvm.internal.env.JbpmConfigurationParser.<clinit>(JbpmConfigurationParser.java:50)
  | 	at org.jbpm.pvm.internal.cfg.JbpmConfiguration.parse(JbpmConfiguration.java:178)
  | 	at org.jbpm.pvm.internal.cfg.JbpmConfiguration.setInputStream(JbpmConfiguration.java:145)
  | 	at org.jbpm.pvm.internal.cfg.SpringConfiguration.<init>(SpringConfiguration.java:65)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  | 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  | 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
  | 	... 43 more
  | Caused by: org.jbpm.api.JbpmException: 
  |   error: couldn't parse xml document : org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. 
  | 	at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:168)
  | 	at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:141)
  | 	at org.jbpm.pvm.internal.xml.Parse.checkErrors(Parse.java:189)
  | 	at org.jbpm.pvm.internal.wire.xml.WireParser.<clinit>(WireParser.java:279)
  | 	... 53 more
  | Caused by: org.jbpm.api.JbpmException
  | 	at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:164)
  | 	... 56 more
  | Caused by: org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. 
  | 	at org.apache.xerces.dom.CoreDocumentImpl.createElementNS(Unknown Source)
  | 	at org.apache.xerces.dom.DOMImplementationImpl.createDocument(Unknown Source)
  | 	at org.jbpm.pvm.internal.xml.Parser.buildDom(Parser.java:443)
  | 	at org.jbpm.pvm.internal.xml.Parser.execute(Parser.java:389)
  | 	at org.jbpm.pvm.internal.xml.Parse.execute(Parse.java:157)
  | 	... 54 more
  | Sep 24, 2009 11:14:16 AM org.apache.catalina.core.StandardContext listenerStart
  | SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
  | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbpmConfiguration' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.pvm.internal.cfg.SpringConfiguration]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError
  | 	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:254)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
  | 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
  | 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
  | 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
  | 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
  | 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
  | 	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
  | 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
  | 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
  | 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
  | 	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
  | 	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
  | 	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
  | 	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
  | 	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
  | 	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
  | 	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
  | 	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
  | 	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
  | 	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
  | 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
  | 	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
  | 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
  | 	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
  | 	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
  | 	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
  | 	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
  | 	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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
  | 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
  | Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.pvm.internal.cfg.SpringConfiguration]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError
  | 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:115)
  | 	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
  | 	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:248)
  | 	... 41 more
  | Caused by: java.lang.ExceptionInInitializerError
  | 	at org.jbpm.pvm.internal.env.JbpmConfigurationParser.<init>(JbpmConfigurationParser.java:47)
  | 	at org.jbpm.pvm.internal.env.JbpmConfigurationParser.<clinit>(JbpmConfigurationParser.java:50)
  | 	at org.jbpm.pvm.internal.cfg.JbpmConfiguration.parse(JbpmConfiguration.java:178)
  | 	at org.jbpm.pvm.internal.cfg.JbpmConfiguration.setInputStream(JbpmConfiguration.java:145)
  | 	at org.jbpm.pvm.internal.cfg.SpringConfiguration.<init>(SpringConfiguration.java:65)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  | 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  | 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
  | 	... 43 more
  | Caused by: org.jbpm.api.JbpmException: 
  |   error: couldn't parse xml document : org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. 
  | 	at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:168)
  | 	at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:141)
  | 	at org.jbpm.pvm.internal.xml.Parse.checkErrors(Parse.java:189)
  | 	at org.jbpm.pvm.internal.wire.xml.WireParser.<clinit>(WireParser.java:279)
  | 	... 53 more
  | Caused by: org.jbpm.api.JbpmException
  | 	at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:164)
  | 	... 56 more
  | Caused by: org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. 
  | 	at org.apache.xerces.dom.CoreDocumentImpl.createElementNS(Unknown Source)
  | 	at org.apache.xerces.dom.DOMImplementationImpl.createDocument(Unknown Source)
  | 	at org.jbpm.pvm.internal.xml.Parser.buildDom(Parser.java:443)
  | 	at org.jbpm.pvm.internal.xml.Parser.execute(Parser.java:389)
  | 	at org.jbpm.pvm.internal.xml.Parse.execute(Parse.java:157)
  | 	... 54 more

Unfortunately the exceptions are missing crucial bits of information ("INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified", file, location and character could be displayed here). 

Anyway, this is my jbpm.cfg.xml:
<?xml version="1.0" encoding="UTF-8">
  | 
  | <jbpm-configuration>
  | 
  | 	<import resource="jbpm.jpdl.cfg.xml" />
  | 
  | 	<import resource="jbpm.identity.cfg.xml" />
  | 
  | 	<process-engine-context>
  | 
  | 		<repository-service />
  | 		<repository-cache />
  | 		<execution-service />
  | 		<history-service />
  | 		<management-service />
  | 		<identity-service />
  | 		<task-service />
  | 
  | 		<script-manager default-expression-language="juel"
  | 			default-script-language="juel"
  | 			read-contexts="execution, environment, process-engine, spring"
  | 			write-context="">
  | 			<script-language name="juel"
  | 				factory="org.jbpm.pvm.internal.script.JuelScriptEngineFactory" />
  | 		</script-manager>
  | 
  | 		<!-- <authentication /> -->
  | 
  | 		<id-generator />
  | 		<types resource="jbpm.variable.types.xml" />
  | 
  | 		<address-resolver />
  | 
  | 		<business-calendar>
  | 			<monday hours="9:00-12:00 and 12:30-17:00" />
  | 			<tuesday hours="9:00-12:00 and 12:30-17:00" />
  | 			<wednesday hours="9:00-12:00 and 12:30-17:00" />
  | 			<thursday hours="9:00-12:00 and 12:30-17:00" />
  | 			<friday hours="9:00-12:00 and 12:30-17:00" />
  | 			<holiday period="01/07/2008 - 31/08/2008" />
  | 		</business-calendar>
  | 
  | 		<mail-template name='task-notification'>
  | 			<to users="${task.assignee}" />
  | 			<subject>${task.name}</subject>
  | 			<text><![CDATA[Hi ${task.assignee},
  | Task "${task.name}" has been assigned to you.
  | ${task.description}
  | 
  | Sent by JBoss jBPM
  | ]]></text>
  | 		</mail-template>
  | 
  | 		<mail-template name='task-reminder'>
  | 			<to users="${task.assignee}" />
  | 			<subject>${task.name}</subject>
  | 			<text><![CDATA[Hey ${task.assignee},
  | Do not forget about task "${task.name}".
  | ${task.description}
  | 
  | Sent by JBoss jBPM
  | ]]></text>
  | 		</mail-template>
  | 
  | 		<command-service>
  | 			<retry-interceptor />
  | 			<environment-interceptor />
  | 			<spring-transaction-interceptor />
  | 		</command-service>
  | 	</process-engine-context>
  | 
  | 	<transaction-context>
  | 		<repository-session />
  | 		<db-session />
  | 		<message-session />
  | 		<timer-session />
  | 		<history-session />
  | 		<mail-session>
  | 			<mail-server>
  | 				<session-properties resource="jbpm.mail.properties" />
  | 			</mail-server>
  | 		</mail-session>
  | 		<hibernate-session current="true" />
  | 	</transaction-context>
  | </jbpm-configuration>

... and finally, this is the configuration in the application context:


  | <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  | 		...
  | 		<!-- jBPM configuration (1 of 2) -->
  | 		<property name="configLocations">
  | 			<list>
  | 				<value>classpath:jbpm/hibernate.cfg.xml</value>
  | 			</list>
  | 		</property>
  | 		<property name="mappingLocations">
  | 			<list>
  | 				<!-- jBPM Mappings -->
  | 				<value>classpath:jbpm.execution.hbm.xml</value>
  | 				<value>classpath:jbpm.repository.hbm.xml</value>
  | 				<value>classpath:jbpm.task.hbm.xml</value>
  | 				<value>classpath:jbpm.history.hbm.xml</value>
  | 			</list>
  | 		</property>
  | 		<!-- End of jBPM configuration (1 of 2) -->
  | 	</bean>
  |         ...
  |         <bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration">
  | 		<constructor-arg value="jbpm/jbpm.cfg.xml" />
  | 	</bean>
  | 	
  | 	<bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" />
  | 	<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
  | 	<bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />
  | 	<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
  |         ...
  | 

I appreciate your help! Cheers, Nils

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4256844#4256844

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4256844


More information about the jbpm-users mailing list