Hi Saraswati,
Thanks for the reply
Below is complete snippet for this weird exception
Spring Configuration
| <?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:aop="http://www.springframework.org/schema/aop"
|
xmlns:tx="http://www.springframework.org/schema/tx"
| xsi:schemaLocation="
|
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
|
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
|
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
|
| <bean id="dol.jdbcDatasource"
| class="org.springframework.jdbc.datasource.DriverManagerDataSource"
lazy-init="true" >
| <property name="driverClassName"
value="com.mysql.jdbc.Driver" />
| <property name="url"
value="jdbc:mysql://${dol.jdbc.server}:${dol.jdbc.port}/${dol.jdbc.database}"
/>
| <property name="username" value="${dol.jdbc.loginuser}"
/>
| <property name="password" value="${dol.jdbc.password}" />
| </bean>
|
| <bean id="dol.hbSessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
| <property name="dataSource"> <ref
bean="${dol.datasource}"/> </property>
| <property name="mappingLocations">
| <list>
|
<value>classpath:com/gda/dol/comp/resources/hibernate/jbpm.repository.hbm.xml</value>
|
<value>classpath:com/gda/dol/comp/resources/hibernate/jbpm.execution.hbm.xml</value>
|
<value>classpath:com/gda/dol/comp/resources/hibernate/jbpm.history.hbm.xml</value>
|
<value>classpath:com/gda/dol/comp/resources/hibernate/jbpm.task.hbm.xml</value>
|
<value>classpath:com/gda/dol/comp/resources/hibernate/jbpm.identity.hbm.xml</value>
| </list>
| </property>
| <property name="schemaUpdate" value="false"/>
| <property name="hibernateProperties">
| <props>
| <prop key="hibernate.show_sql">true</prop>
| <prop
key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
| <prop key="hibernate.jdbc.batch_size">50</prop>
| <prop
key="hibernate.cache.use_second_level_cache">false</prop>
| <prop
key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>
| <prop
key="hibernate.cache.provider_class">org.hibernate.cache.OSCacheProvider</prop>
| <prop
key="hibernate.current_session_context_class">thread</prop>
| <prop
key="hibernate.connection.release_mode">after_transaction</prop>
| </props>
| </property>
| <property name="configLocations">
| <list>
|
<value>classpath:com/gda/dol/comp/resources/jbpm/hibernate.cfg.xml</value>
| </list>
| </property>
| </bean>
|
| <bean id="dol.hbTxManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
lazy-init="true">
| <property name="sessionFactory"
ref="dol.hbSessionFactory"/>
| </bean>
|
| <bean id="jbpmConfiguration"
class="org.jbpm.pvm.internal.cfg.SpringConfiguration">
| <constructor-arg value="com/gda/dol/comp/resources/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" />
|
| <bean id="_deployService"
class="com.gda.dol.comp.jbpm.impl.DeployServiceImpl">
| <property name="repositoryService" ref="repositoryService"
/>
| </bean>
|
| <bean id="processInformationService"
| class="com.gda.dol.comp.jbpm.impl.ProcessInformationServiceImpl">
| <property name="repositoryService" ref="repositoryService"
/>
| <property name="executionService" ref="executionService"
/>
| </bean>
|
| <bean id="simpleProcessService"
| class="com.gda.dol.comp.jbpm.impl.SimpleProcessServiceImpl">
| <property name="repositoryService" ref="repositoryService"
/>
| <property name="executionService" ref="executionService"
/>
| </bean>
|
| <bean id="_echoService"
class="com.gda.dol.comp.jbpm.impl.EchoServiceImpl" />
|
| <bean id="_initialFillService"
class="com.gda.dol.comp.jbpm.impl.InitialFillServiceImpl">
| <property name="repositoryService" ref="repositoryService"
/>
| </bean>
|
| <bean id="abstractService"
| class="com.gda.abc.xxx.framework.springSupport.SpringServiceFactory"
| abstract="true">
| <property name="transactionManager">
| <ref bean="${dol.application.txManager}" />
| </property>
| <property name="transactionAttributes">
| <props>
| <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>
| </props>
| </property>
| </bean>
|
| <bean id="echoService" parent="abstractService">
| <property name="target">
| <ref bean="_echoService" />
| </property>
| <property name="proxyInterfaces">
| <list>
| <value>
| com.gda.dol.comp.jbpm.EchoService
| </value>
| </list>
| </property>
| </bean>
|
| <bean id="initialFillService" parent="abstractService">
| <property name="target">
| <ref bean="_initialFillService" />
| </property>
| <property name="proxyInterfaces">
| <list>
| <value>
| com.gda.dol.comp.jbpm.InitialFillService
| </value>
| </list>
| </property>
| </bean>
|
| <bean id="deployService" parent="abstractService">
| <property name="target">
| <ref bean="_deployService" />
| </property>
| <property name="proxyInterfaces">
| <list>
| <value>
| com.gda.dol.comp.jbpm.DeployService
| </value>
| </list>
| </property>
| </bean>
| </beans>
|
JBPM Configuration
| <?xml version="1.0" encoding="UTF-8"?>
|
| <jbpm-configuration
xmlns="http://jbpm.org/xsd/cfg">
|
| <process-engine-context>
|
| <repository-service />
| <repository-cache />
| <execution-service />
| <history-service />
| <management-service />
| <task-service />
| <identity-service />
|
| <command-service name="txRequiredCommandService">
| <retry-interceptor />
| <environment-interceptor transactionManager="dol.hbTxManager"/>
| <spring-transaction-interceptor />
| </command-service>
|
| <deployer-manager>
| <jpdl-deployer />
| </deployer-manager>
|
| <object class="org.jbpm.pvm.internal.id.DatabaseDbidGenerator">
| <field name="commandService"><ref
object="txRequiredCommandService" /></field>
| </object>
|
| <object class="org.jbpm.pvm.internal.id.DatabaseIdComposer"
init="eager" />
|
| <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 />
|
| <job-executor auto-start="false" />
|
| <id-generator />
| <types resource="jbpm.variable.types.xml" />
|
| <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>
|
| </process-engine-context>
|
| <transaction-context>
| <repository-session />
| <db-session />
| <pvm-db-session />
| <job-db-session />
| <task-db-session />
| <message-session />
| <timer-session />
| <history-session />
| <!--<transaction />
| <hibernate-session />-->
| <hibernate-session current="true"/>
| <identity-session />
| </transaction-context>
| </jbpm-configuration>
|
hibernate.cfg.xml
| <?xml version="1.0" encoding="utf-8"?>
| <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration
DTD 3.0//EN"
|
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
| <hibernate-configuration>
| <!--<session-factory name="jbpm4-spring">-->
| <session-factory>
| <property
name="hibernate.bytecode.use_reflection_optimizer">false</property>
| </session-factory>
| </hibernate-configuration>
InitialFillServiceImpl class
| public class InitialFillServiceImpl implements InitialFillService{
| private RepositoryService repositoryService;
|
| public void testGanda(){
| /*NewDeployment newDeployment = repositoryService.createDeployment();
| newDeployment.setName("TestSpring");
| newDeployment.setTimestamp(new Date().getTime());
|
newDeployment.addResourceFromClasspath("com/gda/dol/comp/jbpm/impl/process.jpdl.xml");
| newDeployment.deploy();*/
| List<Deployment> deploymentIdList =
repositoryService.createDeploymentQuery().list();
| for(Deployment deployment : deploymentIdList){
| int i = 1;
| System.out.println("Retrieve element : "+i);
| System.out.println("Deployment ID : "+deployment.getId());
| System.out.println("Deployment Name : "+deployment.getName());
| i++;
| }
| }
|
| public void setRepositoryService(RepositoryService repositoryService) {
| this.repositoryService = repositoryService;
| }
|
| }
|
process.jpdl.xml
| <?xml version="1.0" encoding="UTF-8"?>
|
| <process name="EndState"
xmlns="http://jbpm.org/4.2/jpdl">
|
| <start g="16,96,48,48">
| <transition to="get return code"/>
| </start>
|
| <state name="get return code" g="96,94,110,52">
| <transition name="200" to="ok"
g="150,63:-36,11"/>
| <transition name="400" to="bad request"
g=":-16,-27"/>
| <transition name="500" to="internal server error"
g="150,177:-33,-32"/>
| </state>
|
| <end name="ok" state="completed"
g="239,40,48,48"/>
| <end-cancel name="bad request" g="239,97,48,48"/>
| <end-error name="internal server error"
g="240,154,48,48"/>
|
| </process>
Same Exception that i have posted earlier.
Yup, I noticed if i make it current="true" for
<spring-transaction-interceptor />, I will get another exception something like
Mandatory Exception. Thatys why I enable it, and can run with it.
I already double check the table schema, and i have that JBPM4_EXECUTION table because
previously i run the script in install directory.
The Weird things is located in this 3 lines in jbpm.cfg.xml
<!--
<hibernate-session />-->
<hibernate-session current="true"/>
if I make current="false" in hibernate-session , I can run my program without
any error, I can deploy as well as retrieve information's from JBPM Tables, However
the problem ONLY occurs when i set current="true" in hibernate-session which is
recommended by everyone including mandatory by JBPM Documentation. I am not sure why this
happened ?
any clue ?
Thanks in advance,
Best Regards,
Suganda
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268658#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...