summaryrefslogtreecommitdiff
path: root/calamus-engine/src/main/java/io/trygvis/calamus/engine/CalamusJbpmConfig.java
diff options
context:
space:
mode:
Diffstat (limited to 'calamus-engine/src/main/java/io/trygvis/calamus/engine/CalamusJbpmConfig.java')
-rw-r--r--calamus-engine/src/main/java/io/trygvis/calamus/engine/CalamusJbpmConfig.java27
1 files changed, 21 insertions, 6 deletions
diff --git a/calamus-engine/src/main/java/io/trygvis/calamus/engine/CalamusJbpmConfig.java b/calamus-engine/src/main/java/io/trygvis/calamus/engine/CalamusJbpmConfig.java
index edfda28..3aaad13 100644
--- a/calamus-engine/src/main/java/io/trygvis/calamus/engine/CalamusJbpmConfig.java
+++ b/calamus-engine/src/main/java/io/trygvis/calamus/engine/CalamusJbpmConfig.java
@@ -1,8 +1,13 @@
package io.trygvis.calamus.engine;
+import org.drools.core.marshalling.impl.ClassObjectMarshallingStrategyAcceptor;
+import org.drools.core.marshalling.impl.SerializablePlaceholderResolverStrategy;
+import org.drools.persistence.jpa.marshaller.JPAPlaceholderResolverStrategy;
import org.jbpm.process.audit.JPAAuditLogService;
import org.kie.api.io.Resource;
import org.kie.api.io.ResourceType;
+import org.kie.api.marshalling.ObjectMarshallingStrategy;
+import org.kie.api.runtime.EnvironmentName;
import org.kie.api.runtime.manager.RuntimeEnvironment;
import org.kie.api.runtime.manager.RuntimeManager;
import org.kie.internal.io.ResourceFactory;
@@ -31,16 +36,15 @@ public class CalamusJbpmConfig {
@Bean
@Lazy
public RuntimeEnvironmentFactoryBean runtimeEnvironment(DataSource dataSource, CalamusDbConfig.DbMigrations dbMigrations, EntityManagerFactory entityManagerFactory, PlatformTransactionManager platformTransactionManager) {
- System.out.println("CalamusConfig.runtimeEnvironmentFactoryBean");
- System.out.println("dataSource = " + dataSource);
- System.out.println("dbMigrations = " + dbMigrations);
- System.out.println("entityManagerFactory = " + entityManagerFactory);
- System.out.println("platformTransactionManager = " + platformTransactionManager);
+// System.out.println("CalamusConfig.runtimeEnvironmentFactoryBean");
+// System.out.println("dataSource = " + dataSource);
+// System.out.println("dbMigrations = " + dbMigrations);
+// System.out.println("entityManagerFactory = " + entityManagerFactory);
+// System.out.println("platformTransactionManager = " + platformTransactionManager);
RuntimeEnvironmentFactoryBean x = new RuntimeEnvironmentFactoryBean();
x.setType("DEFAULT");
Map<Resource, ResourceType> assets = new HashMap<>();
- System.out.println("getClass().getClassLoader() = " + getClass().getClassLoader());
assets.put(ResourceFactory.newClassPathResource("Deploy.bpmn2", getClass()), ResourceType.BPMN2);
x.setAssets(assets);
// x.setClassLoader(getClass().getClassLoader());
@@ -48,6 +52,17 @@ public class CalamusJbpmConfig {
x.setEntityManagerFactory(entityManagerFactory);
x.setTransactionManager(platformTransactionManager);
+ ObjectMarshallingStrategy[] objectMarshallingStrategies = {
+ // set the entity manager factory for jpa strategy so it
+ // know how to store and read entities
+ new JPAPlaceholderResolverStrategy(entityManagerFactory),
+ // set the serialization based strategy as last one to
+ // deal with non entities classes
+ new SerializablePlaceholderResolverStrategy(ClassObjectMarshallingStrategyAcceptor.DEFAULT)
+ };
+ x.setEnvironmentEntries(new HashMap<>());
+ x.getEnvironmentEntries().put(EnvironmentName.OBJECT_MARSHALLING_STRATEGIES, objectMarshallingStrategies);
+
return x;
}