maia/.svn/pristine/3c/3caf03524a36811a6ec2469ef76...

51 lines
1.8 KiB
Plaintext
Executable File

package com.fp.bpmlib.task.util;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.PersistenceUnit;
import org.kie.api.runtime.manager.RuntimeEnvironment;
import org.kie.api.runtime.manager.RuntimeEnvironmentBuilder;
/**
* Necesita esta claese para que funcione el jbpm, internamente utiliza el EntiyManagerFactory.
*
* @author jorge
*/
@ApplicationScoped
public class MaiaApplicationScopeProducer {
@PersistenceUnit(unitName = "org.jbpm.domain")
private EntityManagerFactory emf;
@Produces
public EntityManagerFactory produceEntityManagerFactory() {
if (emf == null) {
emf = Persistence.createEntityManagerFactory("org.jbpm.domain");
}
return emf;
}
// @Produces
// @Singleton
// @PerProcessInstance
// @PerRequest
public RuntimeEnvironment produceEnvironment(EntityManagerFactory emf) {
// RuntimeEnvironment environment =
// RuntimeEnvironmentBuilder.Factory.get().newDefaultBuilder().entityManagerFactory(emf)
// .userGroupCallback(usergroupCallback).addAsset(ResourceFactory.newClassPathResource("prueba.bpmn2"),
// ResourceType.BPMN2)
// .get();
RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.Factory.get().newDefaultBuilder().entityManagerFactory(emf);
// builder.userGroupCallback(usergroupCallback);
// builder.registerableItemsFactory(factory);
// builder.addAsset(ResourceFactory.newClassPathResource("prueba.bpmn2"), ResourceType.BPMN2);
RuntimeEnvironment environment = builder.get();
return environment;
}
}