dear:
When I use jbpm 4.3 and grails
1.2 to deploy my process file, I met the following error:
Caused by:
org.codehaus.groovy.runtime.InvokerInvocationException:
org.springframework.beans.NotReadablePropertyException: Invalid property 'dbid'
of bean class [org.jbpm.pvm.internal.repository.DeploymentProperty]: Bean
property 'dbid' is not readable or has an invalid getter method: Does the return
type of the getter match the parameter type of the setter?
My configuration is as follows:
hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<mapping
resource="jbpm.repository.hbm.xml" />
<mapping
resource="jbpm.execution.hbm.xml" />
<mapping
resource="jbpm.history.hbm.xml" />
<mapping
resource="jbpm.task.hbm.xml" />
<mapping
resource="jbpm.identity.hbm.xml" />
</session-factory>
</hibernate-configuration>
spring/resources.groovy
beans =
{
springHelper(org.jbpm.pvm.internal.processengine.SpringHelper)
{
jbpmCfg =
"jbpm.cfg.xml"
}
processEngine(springHelper:"createProcessEngine")
}
jbpm.cfg.xml
<jbpm-configuration>
<import
resource="jbpm.default.cfg.xml" />
<import
resource="jbpm.tx.spring.cfg.xml" />
<import
resource="jbpm.jpdl.cfg.xml" />
<import
resource="jbpm.bpmn.cfg.xml" />
<import
resource="jbpm.identity.cfg.xml" />
<import
resource="jbpm.businesscalendar.cfg.xml" />
<import
resource="jbpm.console.cfg.xml" />
<import
resource="jbpm.jobexecutor.cfg.xml" />
</jbpm-configuration>
deploy code£º
def
processEngine
def init = { servletContext
->
def
repositoryService=processEngine.getRepositoryService()
def
deploymentId =
repositoryService.createDeployment()
.addResourceFromClasspath("jbpm/processes/start2end.jpdl.xml")
.deploy();
// the error happen
}
According the error message,I find the
org.jbpm.pvm.internal.repository.DeploymentProperty ,and add the following
code:
public long getDbid(){
return dbid;
}
and recompiled the jbpm source code,
the error disappear!!
I think this maybe a bug of Jbpm 4.3!Do
you think so?
And there is another question,if in my
spring/resources.groovy, I config the jBPM services such as
repositoryService,executionService, the configuratioin is as follows:
beans =
{
springHelper(org.jbpm.pvm.internal.processengine.SpringHelper)
{
jbpmCfg =
"jbpm.cfg.xml"
}
processEngine(springHelper:"createProcessEngine")
repositoryService(processEngine:"getRepositoryService") //error
happen
}
the error is as follows:
2010-01-11 15:42:31,140 [main] ERROR
context.ContextLoader - Context initialization
failed
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'repositoryService': Instantiation of bean failed;
nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException: Factory method
[public org.jbpm.api.RepositoryService
org.jbpm.pvm.internal.processengine.ProcessEngineImpl.getRepositoryService()]
threw exception; nested exception is
org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'repositoryService': Requested bean
is currently in creation: Is there an unresolvable circular
reference?
at
org.grails.tomcat.TomcatServer.start(TomcatServer.groovy:135)
at
grails.web.container.EmbeddableServer$start.call(Unknown Source)
at
_GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy:158).....
Caused by:
org.springframework.beans.factory.BeanDefinitionStoreException: Factory method
[public org.jbpm.api.RepositoryService
org.jbpm.pvm.internal.processengine.ProcessEngineImpl.getRepositoryService()]
threw exception; nested exception is
org.springframework.beans.factory.BeanCurrentlyInCreationException: Error
creating bean with name 'repositoryService': Requested bean is currently in
creation: Is there an unresolvable circular reference?
... 23
more
Caused by:
org.springframework.beans.factory.BeanCurrentlyInCreationException: Error
creating bean with name 'repositoryService': Requested bean is currently in
creation: Is there an unresolvable circular reference?
at
org.jbpm.pvm.internal.processengine.SpringProcessEngine.get(SpringProcessEngine.java:109)
at
org.jbpm.pvm.internal.processengine.ProcessEngineImpl.getRepositoryService(ProcessEngineImpl.java:172)
...
23 more
I can't find the resolve solution of this error, so I
only use the code such as def
repositoryService=processEngine.getRepositoryService() to get the jbpm services.Do you have some
advice?