[rules-users] NullPointerException on jpaSingleSessionCommandService

drooRam rajeshram7 at yahoo.com
Thu Aug 5 15:34:59 EDT 2010


I have configured the applicationContext.xml as follows for stateful JPA
persistance session - jpaSingleSessionCommandService :

	<drools:ksession id="jpaSingleSessionCommandService" type="stateful"
kbase="flowKnowledge">
	  <drools:configuration>
	    <drools:jpa-persistence>
	      <drools:transaction-manager ref="transactionManager" />
	      <drools:entity-manager-factory ref="entityManagerFactory" />
	      <drools:variable-persisters>
	         <drools:persister for-class="javax.persistence.Entity" 
implementation="org.drools.persistence.processinstance.persisters.JPAVariablePersister"/>
	         <drools:persister for-class="java.io.Serializable"
implementation="org.drools.persistence.processinstance.persisters.SerializableVariablePersister"/>
	      </drools:variable-persisters>  
	    </drools:jpa-persistence>
	  </drools:configuration>    
	</drools:ksession>

	<bean id="entityManagerFactory"
	
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="persistenceUnitName" value="rascalflow-persistence" />
		<property name="persistenceProvider">
			<bean class="org.hibernate.ejb.HibernatePersistence" />
		</property>		
		<property name="jpaVendorAdapter">
			<bean id="jpaVendorAdapter"
				class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
				<property name="database" value="ORACLE" />
				<property name="showSql" value="true" />
			</bean>
		</property>
	</bean>


   <bean id="sessionFactory" 
          class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
          p:dataSource-ref="dataSource">
        <property name="hibernateProperties">
            <value>
            
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
            	hibernate.hbm2ddl.auto=update
            	hibernate.show_sql=true
            	hibernate.max_fetch_depth=3
                hibernate.format_sql=true
                hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
            </value>
        </property>
    </bean>	

	<bean id="sharedEntityManagerBean"
		class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
		<property name="entityManagerFactory" ref="entityManagerFactory" />
	</bean>

    <bean id="transactionManager" 
         
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
          p:sessionFactory-ref="sessionFactory" />

When i tried to start the application, i have got Null pointer exception
from drools ...Error creating bean with name
'jpaSingleSessionCommandService': ... i know this is something to do with
the parameter transaction manager in drools configuration tag... but i have
no clue why this error is occuring or any soln.... 

It might be the configuration that i have done was incorrect, someone please
go through the above configuration and let me know where exactly that I am
doing the mistake....

Basic runtime exception is :

Caused by: java.lang.RuntimeException: Could not commit session
	at
org.drools.persistence.session.SingleSessionCommandService.<init>(SingleSessionCommandService.java:135)
	... 52 more
Caused by: java.lang.NullPointerException
	at
org.drools.persistence.session.SingleSessionCommandService.<init>(SingleSessionCommandService.java:124)
	... 52 more
Aug 5, 2010 3:26:44 PM org.apache.catalina.core.StandardContext
loadOnStartup
SEVERE: Servlet /rascalFlow threw load() exception
java.lang.NullPointerException
	at
org.drools.persistence.session.SingleSessionCommandService.<init>(SingleSessionCommandService.java:124)
	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.drools.persistence.jpa.impl.KnowledgeStoreServiceImpl.buildCommanService(KnowledgeStoreServiceImpl.java:119)
	at
org.drools.persistence.jpa.impl.KnowledgeStoreServiceImpl.newStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:57)
	at
org.drools.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:93)
	at
org.drools.container.spring.beans.StatefulKnowledgeSessionBeanFactory.internalAfterPropertiesSet(StatefulKnowledgeSessionBeanFactory.java:71)
	at
org.drools.container.spring.beans.AbstractKnowledgeSessionBeanFactory.afterPropertiesSet(AbstractKnowledgeSessionBeanFactory.java:93)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
	at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
	at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
	at
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442)
	at
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458)
	at
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339)
	at
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306)
	at
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)
	at javax.servlet.GenericServlet.init(GenericServlet.java:212)
	at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
	at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4187)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4496)
	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:546)
	at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
	at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
	at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
	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:519)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
	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:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
-- 
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/NullPointerException-on-jpaSingleSessionCommandService-tp1027575p1027575.html
Sent from the Drools - User mailing list archive at Nabble.com.



More information about the rules-users mailing list