apache camel - Problems With Activiti OSGI and Blueprint -
i try use activiti in karaf osgi camel.
i copied parts out of service mix configuration.
<?xml version="1.0" encoding="utf-8"?> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:camel="http://camel.apache.org/schema/blueprint" xsi:schemalocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd" xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.0.0" xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0" xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"> <ext:property-placeholder /> <!-- setting process engine configuration, using embedded h2 database our default aries transaction manager. --> <bean id="datasource" class="org.h2.jdbcx.jdbcdatasource"> <property name="url" value="jdbc:h2:~/activiti"/> <property name="user" value="sa"/> <property name="password" value=""/> </bean> <reference id="transactionmanager" interface="javax.transaction.transactionmanager"/> <bean id="configuration" class="org.activiti.engine.impl.cfg.jtaprocessengineconfiguration" ext:field-injection="true"> <property name="databasetype" value="h2"/> <property name="datasource" ref="datasource"/> <property name="transactionmanager" ref="transactionmanager"/> <property name="databaseschemaupdate" value="true"/> <property name="transactionsexternallymanaged" value="true" /> <property name="defaultcamelcontext" value="defaultcontext"/> </bean> <!-- set custom resolver implementation ease integration camel routes --> <bean id="resolver" class="de.myproject.camelawareelresolver"/> <reference-list availability="optional" interface="org.activiti.camel.contextprovider"> <reference-listener ref="resolver" bind-method="addcontextprovider" unbind-method="removecontextprovider" /> </reference-list> <reference-list availability="optional" interface="org.activiti.engine.delegate.javadelegate"> <reference-listener ref="resolver" bind-method="bindservice" unbind-method="unbindservice" /> </reference-list> <!-- set activiti process engine --> <bean id="processenginefactory" class="org.activiti.osgi.blueprint.processenginefactorywithelresolver" init-method="init" destroy-method="destroy"> <property name="processengineconfiguration" ref="configuration"/> <property name="bundle" ref="blueprintbundle"/> <property name="blueprintelresolver" ref="resolver" /> </bean> <bean id="processengine" factory-ref="processenginefactory" factory-method="getobject"/> <bean id="runtimeservice" factory-ref="processengine" factory-method="getruntimeservice" /> <!-- register processengine , runtimeservice osgi services allow other bundles use them --> <service ref="processengine" interface="org.activiti.engine.processengine"/> <service ref="runtimeservice" interface="org.activiti.engine.runtimeservice"/> <bean id="routebuilder" class="de.myproject.bpmn.bpmnrestroutebuilder"/> <camelcontext id="clientcontext" trace="false" xmlns="http://camel.apache.org/schema/blueprint"> <routebuilder ref="routebuilder" /> <route id="entrypointclient"> <from uri="vm:client_queue"/> <to uri="jobsbpmn://bpmn"/> </route> </camelcontext>
i can deploy bundle without problems in container. when trigger workflow camel module exception:
2016-11-08 11:56:43,569 | error | m://client_queue | jobsbpmnproducer | 45 - jobs-logging - 1.0.0 | no processdefinition found identifier activitiexception: expecting springprocessengineconfiguration activiti camel module.
classcastexception: org.activiti.engine.impl.cfg.jtaprocessengineconfiguration cannot cast org.activiti.spring.springprocessengineconfiguration**
how can deploy osgi conform processengine using spring camel work?
this problem might fixed in activity code already. see https://github.com/activiti/activiti/pull/519
can try newest activitiy version?
Comments
Post a Comment