Refine search
public void initTransactionManager(Environment env) { Object tm = env.get( EnvironmentName.TRANSACTION_MANAGER ); if ( env.get( EnvironmentName.TASK_PERSISTENCE_CONTEXT_MANAGER ) != null && env.get( EnvironmentName.TRANSACTION_MANAGER ) != null ) { this.txm = (TransactionManager) tm; this.tpm = (TaskPersistenceContextManager) env.get( EnvironmentName.TASK_PERSISTENCE_CONTEXT_MANAGER ); this.txm = TransactionManagerFactory.get().newTransactionManager(env); env.set( EnvironmentName.TRANSACTION_MANAGER, this.txm ); try {
public TransactionalCommandService(EntityManagerFactory emf) { this(emf, TransactionManagerFactory.get().newTransactionManager()); }
protected TransactionManager getTransactionManager(JobContext jobContext) { Object txm = getEnvironment(jobContext).get(EnvironmentName.TRANSACTION_MANAGER); if (txm != null && txm instanceof TransactionManager) { return (TransactionManager) txm; } return TransactionManagerFactory.get().newTransactionManager(); }
protected void adjustEnvironment(RuntimeEnvironment environment) { if (userGroupCallback != null) { ((SimpleRuntimeEnvironment)environment).setUserGroupCallback(userGroupCallback); } if (schedulerService != null) { ((SimpleRuntimeEnvironment)environment).setSchedulerService(schedulerService); } ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.TRANSACTION_MANAGER, transactionManager); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.TASK_USER_GROUP_CALLBACK, userGroupCallback); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.TASK_USER_INFO, userInfo); if (entityManager != null) { ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.APP_SCOPED_ENTITY_MANAGER, entityManager); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER, entityManager); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set("IS_JTA_TRANSACTION", false); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set("IS_SHARED_ENTITY_MANAGER", true); } if (pessimisticLocking) { ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.USE_PESSIMISTIC_LOCKING, true); } TransactionManagerFactory transactionManagerFactory = TransactionManagerFactory.get(); if (transactionManagerFactory instanceof KieSpringTransactionManagerFactory) { ((KieSpringTransactionManagerFactory) transactionManagerFactory).setGlobalTransactionManager(transactionManager); } }
public JBPMAutoConfiguration(PlatformTransactionManager transactionManager, JBPMProperties properties, ApplicationContext applicationContext) { this.transactionManager = transactionManager; this.properties = properties; this.applicationContext = applicationContext; System.setProperty(TX_FACTORY_CLASS, SPRING_TX_FACTORY_CLASS); TransactionManagerFactory transactionManagerFactory = TransactionManagerFactory.get(); if (transactionManagerFactory instanceof KieSpringTransactionManagerFactory) { ((KieSpringTransactionManagerFactory) transactionManagerFactory).setGlobalTransactionManager(applicationContext.getBean(AbstractPlatformTransactionManager.class)); } // init any spring based ObjectModelResolvers List<ObjectModelResolver> resolvers = ObjectModelResolverProvider.getResolvers(); if (resolvers != null) { for (ObjectModelResolver resolver : resolvers) { if (resolver instanceof ApplicationContextAware) { ((ApplicationContextAware) resolver).setApplicationContext(applicationContext); } } } if (properties.getQuartz().isEnabled()) { SpringConnectionProvider.setApplicationContext(applicationContext); } }
@After public void cleanup() { System.clearProperty("org.kie.txm.factory.class"); TransactionManagerFactory.resetInstance(); EntityManagerFactoryManager.get().clear(); if (context != null) { context.close(); context = null; } }
public static void resetInstance() { setInstance(); }
protected TransactionManager getTransactionManager(Environment env) { if (env == null) { env = environment.getEnvironment(); } Object txm = env.get(EnvironmentName.TRANSACTION_MANAGER); if (txm != null && txm instanceof TransactionManager) { return (TransactionManager) txm; } return TransactionManagerFactory.get().newTransactionManager(env); }
public TransactionalPersistenceEventManager() { this.tm = TransactionManagerFactory.get().newTransactionManager(); ServiceLoader<EventEmitter> found = ServiceLoader.load(EventEmitter.class); Iterator<EventEmitter> it = found.iterator(); if (it.hasNext()) { emitter = it.next(); logger.debug("EventEmitter {} was found and is going to be used", emitter); } }
protected void adjustEnvironment(RuntimeEnvironment environment) { if (userGroupCallback != null) { ((SimpleRuntimeEnvironment)environment).setUserGroupCallback(userGroupCallback); } if (schedulerService != null) { ((SimpleRuntimeEnvironment)environment).setSchedulerService(schedulerService); } ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.TRANSACTION_MANAGER, transactionManager); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.TASK_USER_GROUP_CALLBACK, userGroupCallback); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.TASK_USER_INFO, userInfo); if (entityManager != null) { ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.APP_SCOPED_ENTITY_MANAGER, entityManager); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER, entityManager); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set("IS_JTA_TRANSACTION", false); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set("IS_SHARED_ENTITY_MANAGER", true); } if (pessimisticLocking) { ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.USE_PESSIMISTIC_LOCKING, true); } TransactionManagerFactory transactionManagerFactory = TransactionManagerFactory.get(); if (transactionManagerFactory instanceof KieSpringTransactionManagerFactory) { ((KieSpringTransactionManagerFactory) transactionManagerFactory).setGlobalTransactionManager(transactionManager); } }
@Override public Object getObject() throws Exception { if(RuntimeManagerRegistry.get().isRegistered(getIdentifier())) { // get the runtime manager from the registry return RuntimeManagerRegistry.get().getManager(getIdentifier()); } else { TransactionManagerFactory transactionManagerFactory = TransactionManagerFactory.get(); if (transactionManagerFactory instanceof KieSpringTransactionManagerFactory) { ((KieSpringTransactionManagerFactory) transactionManagerFactory).setGlobalTransactionManager(applicationContext.getBean(AbstractPlatformTransactionManager.class)); } RuntimeManager manager = null; if ("PER_REQUEST".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerRequestRuntimeManager(runtimeEnvironment, identifier); } else if ("PER_PROCESS_INSTANCE".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerProcessInstanceRuntimeManager(runtimeEnvironment, identifier); } else { manager = factory.newSingletonRuntimeManager(runtimeEnvironment, identifier); } runtimeManagerSet.add(manager); return manager; } }
@After public void cleanup() { System.clearProperty("org.kie.txm.factory.class"); TransactionManagerFactory.resetInstance(); EntityManagerFactoryManager.get().clear(); if (context != null) { context.close(); context = null; } }
private Environment mergeEnvironment(Environment env) { if (env == null) { env = KieServices.get().newEnvironment(); } if (env.get(EnvironmentName.PERSISTENCE_CONTEXT_MANAGER) == null) { try { Class<?> clazz = Class.forName("org.jbpm.persistence.InfinispanProcessPersistenceContextManager"); Constructor<?> c = clazz.getConstructor(Environment.class); env.set(EnvironmentName.PERSISTENCE_CONTEXT_MANAGER, c.newInstance(env)); } catch (ClassNotFoundException e) { env.set(EnvironmentName.PERSISTENCE_CONTEXT_MANAGER, new InfinispanPersistenceContextManager(env)); } catch (Exception e) { e.printStackTrace(); env.set(EnvironmentName.PERSISTENCE_CONTEXT_MANAGER, new InfinispanPersistenceContextManager(env)); } } Object tm = env.get(EnvironmentName.TRANSACTION_MANAGER); if (tm instanceof javax.transaction.TransactionManager) { Object ut = env.get(EnvironmentName.TRANSACTION); if (ut == null && tm instanceof javax.transaction.UserTransaction) { env.set(EnvironmentName.TRANSACTION, tm); } env.set(EnvironmentName.TRANSACTION_MANAGER, TransactionManagerFactory.get().newTransactionManager(env)); } return env; }
protected TransactionManager getTransactionManager(Environment environment) { Object tx = environment.get(EnvironmentName.TRANSACTION_MANAGER); if (tx != null) { if (tx instanceof TransactionManager) { return (TransactionManager) tx; } if (isSpringTransactionManager(tx.getClass())) { try { Class< ? > cls = Class.forName(KIE_SPRING_TM_CLASSNAME); Constructor< ? > con = cls.getConstructors()[0]; return (TransactionManager) con.newInstance( tx ); } catch (Exception e) { throw new RuntimeException("Not possible to create spring transaction manager", e); } } } return TransactionManagerFactory.get().newTransactionManager(environment); }
public void resetTransactionManager() { logger.debug("Reseting Transaction Manager"); this.tm = TransactionManagerFactory.get().newTransactionManager(); } }
@Override public Object getObject() throws Exception { if(RuntimeManagerRegistry.get().isRegistered(getIdentifier())) { // get the runtime manager from the registry return RuntimeManagerRegistry.get().getManager(getIdentifier()); } else { TransactionManagerFactory transactionManagerFactory = TransactionManagerFactory.get(); if (transactionManagerFactory instanceof KieSpringTransactionManagerFactory) { ((KieSpringTransactionManagerFactory) transactionManagerFactory).setGlobalTransactionManager(applicationContext.getBean(AbstractPlatformTransactionManager.class)); } RuntimeManager manager = null; if ("PER_REQUEST".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerRequestRuntimeManager(runtimeEnvironment, identifier); } else if ("PER_PROCESS_INSTANCE".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerProcessInstanceRuntimeManager(runtimeEnvironment, identifier); } else { manager = factory.newSingletonRuntimeManager(runtimeEnvironment, identifier); } runtimeManagerSet.add(manager); return manager; } }
@Test public void testMigrateSingleProcessInstance() { System.setProperty("org.kie.txm.factory.class", "org.kie.spring.persistence.KieSpringTransactionManagerFactory"); TransactionManagerFactory.resetInstance(); EntityManagerFactoryManager.get().addEntityManagerFactory("org.jbpm.persistence.spring.jta", context.getBean("jbpmEMF", EntityManagerFactory.class));
public void initTransactionManager(Environment env) { Object tm = env.get( EnvironmentName.TRANSACTION_MANAGER ); if ( env.get( EnvironmentName.TASK_PERSISTENCE_CONTEXT_MANAGER ) != null && env.get( EnvironmentName.TRANSACTION_MANAGER ) != null ) { this.txm = (TransactionManager) tm; this.tpm = (TaskPersistenceContextManager) env.get( EnvironmentName.TASK_PERSISTENCE_CONTEXT_MANAGER ); this.txm = TransactionManagerFactory.get().newTransactionManager(env); env.set( EnvironmentName.TRANSACTION_MANAGER, this.txm ); try {
protected TransactionManager startTxIfNeeded(Environment environment) { try { if (hasEnvironmentEntry(environment, "IS_TIMER_CMT", true)) { return null; } if (environment.get(EnvironmentName.TRANSACTION_MANAGER) instanceof ContainerManagedTransactionManager) { TransactionManager tm = TransactionManagerFactory.get().newTransactionManager(); if (tm.begin()) { return tm; } } } catch (Exception e) { logger.debug("Unable to optionally start transaction due to {}", e.getMessage(), e); } return null; }
@Override public Object joinTransaction(EntityManager em) { boolean newTx = false; TransactionManager txm = TransactionManagerFactory.get().newTransactionManager(); if( txm == null ) { throw new IllegalStateException("Unable to find JTA transaction." ); } try { if( txm.getStatus() == TransactionManager.STATUS_NO_TRANSACTION ) { txm.begin(); newTx = true; // since new transaction was started em must join it } } catch(Exception ex) { throw new IllegalStateException("Unable to find or open a transaction: " + ex.getMessage(), ex); } try { em.joinTransaction(); } catch( Exception e) { throw new IllegalStateException("Unable to join EntityManager to transaction: " + e.getMessage(), e); } if( newTx ) { return txm; } return USER_MANAGED_TRANSACTION; }