[jboss-user] [JBoss jBPM] - JBPM_PROCESSDEFINITION table not found

abdielj do-not-reply at jboss.com
Fri Jul 14 12:05:20 EDT 2006


hi,

has anybody seen this error before ?. I created the JBPMConfiguration object from a xml string (Copy and paste from User guide's Chapter 3 Database example). Then i try to create a process instance and i get the error below. It seems like if the persistence service was not available but i initializate exactly as the example.


  | 09:56:05,220 [main] ERROR JDBCExceptionReporter : Table not found in statement [select top ? processdef0_.ID_ as ID1_4_, processdef0_.NAME_ as NAME2_4_, processdef0_.VERSION_ as VERSION3_4_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN4_4_, processdef0_.STARTSTATE_ as STARTSTATE5_4_ from JBPM_PROCESSDEFINITION processdef0_ where processdef0_.NAME_=? order by processdef0_.VERSION_ desc]
  | org.hibernate.exception.SQLGrammarException: could not execute query
  | 	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:65)
  | 	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
  | 	at org.hibernate.loader.Loader.doList(Loader.java:2153)
  | 	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
  | 	at org.hibernate.loader.Loader.list(Loader.java:2024)
  | 	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:369)
  | 	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:300)
  | 	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:146)
  | 	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1093)
  | 	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
  | 	at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:745)
  | 	at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:138)
  | 	at org.jbpm.JbpmContext.newProcessInstance(JbpmContext.java:266)
  | 	at solicitudes.SolicitudPrestamo.createInstance(SolicitudPrestamo.java:30)
  | 	at solicitudes.Tester.main(Tester.java:13)
  | Caused by: java.sql.SQLException: Table not found in statement [select top ? processdef0_.ID_ as ID1_4_, processdef0_.NAME_ as NAME2_4_, processdef0_.VERSION_ as VERSION3_4_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN4_4_, processdef0_.STARTSTATE_ as STARTSTATE5_4_ from JBPM_PROCESSDEFINITION processdef0_ where processdef0_.NAME_=? order by processdef0_.VERSION_ desc]
  | 	at org.hsqldb.jdbc.Util.throwError(Unknown Source)
  | 	at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
  | 	at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
  | 	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:442)
  | 	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:368)
  | 	at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:105)
  | 	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
  | 	at org.hibernate.loader.Loader.doQuery(Loader.java:661)
  | 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
  | 	at org.hibernate.loader.Loader.doList(Loader.java:2150)
  | 	... 12 more
  | 0
  | 

Creation of JbpmConfiguration Object


  | 	public static JbpmConfiguration getConfiguration()
  | 	{
  | 		
  | 		 JbpmConfiguration jbpmConfiguration = null; 
  | 		
  | 	    // An example configuration file such as this can be found in 
  | 	    // 'src/config.files'.  Typically the configuration information is in the 
  | 	    // resource file 'jbpm.cfg.xml', but here we pass in the configuration 
  | 	    // information as an XML string.
  | 	    
  | 	    // First we create a JbpmConfiguration statically.  One JbpmConfiguration
  | 	    // can be used for all threads in the system, that is why we can safely 
  | 	    // make it static.
  | 
  | 	    jbpmConfiguration = JbpmConfiguration.parseXmlString(
  | 	      "<jbpm-configuration>" +
  | 	      
  | 	      // A jbpm-context mechanism separates the jbpm core 
  | 	      // engine from the services that jbpm uses from 
  | 	      // the environment.  
  | 	      
  | 	      "  <jbpm-context>" +
  | 	      "    <service name='persistence' " +
  | 	      "             factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />" + 
  | 	      "  </jbpm-context>" +
  | 	      
  | 	      // Also all the resource files that are used by jbpm are 
  | 	      // referenced from the jbpm.cfg.xml
  | 	      
  | 	      "  <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.varmapping' " +
  | 	      "          value='org/jbpm/context/exe/jbpm.varmapping.xml' />" +
  | 	      "</jbpm-configuration>");
  | 		
  | 	      return jbpmConfiguration;
  | }
  | 

Instantiation of process


  | 	public void createInstance() throws Exception
  | 	{
  | 
  | 		//JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();
  | 		JbpmConfiguration jbpmConfiguration = JBPMHelper.getConfiguration();
  | 		JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  | 		try
  | 		{
  | 			ProcessInstance processInstance = jbpmContext.newProcessInstance("SolicitudPrestamo");
  | 			if (processInstance.getProcessDefinition().getTaskMgmtDefinition().getStartTask() == null)
  | 			{
  | 			  processInstance.signal();
  | 			}
  | 			else
  | 			{
  | 			  TaskInstance startTask = 
  | 			  processInstance.getTaskMgmtInstance().createStartTaskInstance();
  | 			  jbpmContext.save(startTask);
  | 			}
  | 		}
  | 		finally
  | 		{
  | 		  jbpmContext.close();
  | 		}			
  | 	}	
  | 

Thanks in advance for your help.

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

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



More information about the jboss-user mailing list