public void dispose() { persistenceContext.close(); }
public void abortWorkItem( long id ) { PersistenceContext context = getPersistenceContext(); WorkItemInfo workItemInfo = null; if ( this.workItems != null ) { workItemInfo = this.workItems.get( id ); if ( workItemInfo != null ) { workItemInfo = (WorkItemInfo) context.merge( workItemInfo ); } } if ( workItemInfo == null ) { workItemInfo = (WorkItemInfo) context.findWorkItem( id ); } // work item may have been aborted if ( workItemInfo != null ) { WorkItem workItem = (WorkItemImpl) internalGetWorkItem( workItemInfo ); ProcessInstance processInstance = kruntime.getProcessInstance( workItem.getProcessInstanceId() ); workItem.setState( WorkItem.ABORTED ); // process instance may have finished already if ( processInstance != null ) { processInstance.signalEvent( "workItemAborted", workItem ); } context.remove( workItemInfo ); if ( workItems != null ) { workItems.remove( workItem.getId() ); } } }
public void beginCommandScopedEntityManager() { EntityManager cmdScopedEntityManager = getCommandScopedEntityManager(); if (isJTA) { this.getCommandScopedPersistenceContext().joinTransaction(); this.appScopedEntityManager.joinTransaction(); } }
public WorkItem getWorkItem( long id ) { PersistenceContext context = getPersistenceContext(); WorkItemInfo workItemInfo = null; if ( this.workItems != null ) { workItemInfo = this.workItems.get( id ); } if ( this.pessimisticLocking && workItemInfo != null ) { context.lock( workItemInfo ); } if ( workItemInfo == null && context != null ) { workItemInfo = (WorkItemInfo) context.findWorkItem( id ); } if ( workItemInfo == null ) { return null; } return internalGetWorkItem( workItemInfo ); }
public void internalAbortWorkItem( long id ) { PersistenceContext context = getPersistenceContext(); WorkItemInfo workItemInfo = (WorkItemInfo) context.findWorkItem( id ); // work item may have been aborted if ( workItemInfo != null ) { WorkItemImpl workItem = (WorkItemImpl) internalGetWorkItem( workItemInfo ); WorkItemHandler handler = (WorkItemHandler) this.workItemHandlers.get( workItem.getName() ); if ( handler != null ) { handler.abortWorkItem( workItem, this ); } else { if ( workItems != null ) { workItems.remove( id ); throwWorkItemNotFoundException( workItem ); } } if ( workItems != null ) { workItems.remove( id ); } context.remove( workItemInfo ); } }
@Override public void internalExecuteWorkItem(WorkItem workItem) { Environment env = this.kruntime.getEnvironment(); // EntityManager em = (EntityManager) env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); WorkItemInfo workItemInfo = new WorkItemInfo(workItem, env); // em.persist(workItemInfo); PersistenceContext context = ((PersistenceContextManager) env.get( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER )).getCommandScopedPersistenceContext(); context.persist( workItemInfo ); ((WorkItemImpl) workItem).setId(workItemInfo.getId()); workItemInfo.transform(); context.merge(workItemInfo); WorkItemHandler handler = (WorkItemHandler) this.workItemHandlers.get(workItem.getName()); if (handler != null) { handler.executeWorkItem(workItem, this); workItemInfo.transform(); context.merge(workItemInfo); } else { throwWorkItemNotFoundException( workItem ); } }
@Override public void destroy() { PersistenceContext persistenceContext = this.jpm.getApplicationScopedPersistenceContext(); boolean transactionOwner = false; try { transactionOwner = txm.begin(); persistenceContext.joinTransaction(); initExistingKnowledgeSession( this.sessionInfo.getId(), this.marshallingHelper.getKbase(), this.marshallingHelper.getConf(), persistenceContext ); persistenceContext.remove(this.sessionInfo); txm.commit( transactionOwner ); } catch ( RuntimeException re ) { rollbackTransaction( re, transactionOwner ); throw re; } catch ( Exception t1 ) { rollbackTransaction(t1, transactionOwner); throw new RuntimeException( "Wrapped exception see cause", t1 ); } }
registerRollbackSync(); persistenceContext.joinTransaction(); this.sessionInfo = (SessionInfo) persistenceContext.persist( this.sessionInfo ); registerUpdateSync(); txm.commit( transactionOwner );
public void retryWorkItemWithParams( long workItemId, Map<String, Object> map ) { Environment env = this.kruntime.getEnvironment(); WorkItem workItem = getWorkItem( workItemId ); if ( workItem != null ) { workItem.setParameters( map ); WorkItemInfo workItemInfo = new WorkItemInfo( workItem, env ); PersistenceContext context = getPersistenceContext(); context.merge( workItemInfo ); retryWorkItem( workItem ); } }
public void internalExecuteWorkItem( WorkItem workItem ) { Environment env = this.kruntime.getEnvironment(); WorkItemInfo workItemInfo = new WorkItemInfo( workItem, env ); PersistenceContext context = getPersistenceContext(); workItemInfo = (WorkItemInfo) context.persist( workItemInfo ); ((WorkItemImpl) workItem).setId( workItemInfo.getId() ); if ( this.workItems == null ) { this.workItems = new HashMap<Long, WorkItemInfo>(); } workItems.put( workItem.getId(), workItemInfo ); WorkItemHandler handler = (WorkItemHandler) this.workItemHandlers.get( workItem.getName() ); if ( handler != null ) { handler.executeWorkItem( workItem, this ); } else { throwWorkItemNotFoundException( workItem ); } }
@Override public WorkItem getWorkItem(long id) { Environment env = this.kruntime.getEnvironment(); // EntityManager em = (EntityManager) env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); PersistenceContext context = ((PersistenceContextManager) env.get( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER )).getCommandScopedPersistenceContext(); PersistentWorkItem workItemInfo = null; if (context != null) { workItemInfo = context.findWorkItem( id ); } if (workItemInfo == null) { return null; } return internalGetWorkItem(workItemInfo); }
try { this.sessionInfo = (SessionInfo) persistenceContext.findSession( sessionId ); } catch ( Exception e ) { throw new SessionNotFoundException( "Could not find session data for id " + sessionId,
@Override public void internalAbortWorkItem(long id) { Environment env = this.kruntime.getEnvironment(); //EntityManager em = (EntityManager) env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); PersistenceContext context = ((PersistenceContextManager) env.get( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER )).getCommandScopedPersistenceContext(); PersistentWorkItem workItemInfo = context.findWorkItem( id ); // work item may have been aborted if (workItemInfo != null) { WorkItemImpl workItem = (WorkItemImpl) internalGetWorkItem(workItemInfo); WorkItemHandler handler = (WorkItemHandler) this.workItemHandlers.get(workItem.getName()); if (handler != null) { handler.abortWorkItem(workItem, this); } else { throwWorkItemNotFoundException( workItem ); } context.remove(workItemInfo); } }
@Override public void retryWorkItemWithParams(long workItemId,Map<String,Object> map) { Environment env = this.kruntime.getEnvironment(); WorkItem workItem = getWorkItem(workItemId); if (workItem != null) { workItem.setParameters( map ); WorkItemInfo workItemInfo = new WorkItemInfo(workItem, env); PersistenceContext context = ((PersistenceContextManager) env.get( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER )).getCommandScopedPersistenceContext(); context.merge( workItemInfo ); retryWorkItem(workItemInfo.getId()); } }
persistenceContext.persist(sessionInfo); return null;
public void completeWorkItem( long id, Map<String, Object> results ) { PersistenceContext context = getPersistenceContext(); WorkItemInfo workItemInfo = null; if ( this.workItems != null ) { workItemInfo = this.workItems.get( id ); if ( workItemInfo != null ) { workItemInfo = (WorkItemInfo) context.merge( workItemInfo ); } } if ( workItemInfo == null ) { workItemInfo = (WorkItemInfo) context.findWorkItem( id ); } // work item may have been aborted if ( workItemInfo != null ) { WorkItem workItem = internalGetWorkItem( workItemInfo ); workItem.setResults( results ); ProcessInstance processInstance = kruntime.getProcessInstance( workItem.getProcessInstanceId() ); workItem.setState( WorkItem.COMPLETED ); // process instance may have finished already if ( processInstance != null ) { processInstance.signalEvent( "workItemCompleted", workItem ); } context.remove( workItemInfo ); if ( workItems != null ) { this.workItems.remove( workItem.getId() ); } } }
@Override public void abortWorkItem(long id) { Environment env = this.kruntime.getEnvironment(); // EntityManager em = (EntityManager) env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); PersistenceContext context = ((PersistenceContextManager) env.get( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER )).getCommandScopedPersistenceContext(); PersistentWorkItem workItemInfo = context.findWorkItem( id ); // work item may have been aborted if (workItemInfo != null) { WorkItem workItem = (WorkItemImpl) internalGetWorkItem(workItemInfo); ProcessInstance processInstance = kruntime.getProcessInstance(workItem.getProcessInstanceId()); workItem.setState(WorkItem.ABORTED); // process instance may have finished already if (processInstance != null) { processInstance.signalEvent("workItemAborted", workItem); } context.remove(workItemInfo); } }
public void beginCommandScopedEntityManager() { EntityManager cmdScopedEntityManager = getCommandScopedEntityManager(); if (isJTA) { this.getCommandScopedPersistenceContext().joinTransaction(); this.appScopedEntityManager.joinTransaction(); } }
public void endCommandScopedEntityManager() { if (TransactionSynchronizationManager.hasResource("cmdEM")) { // Code formerly in the clearPersistenceContext method. EntityManager cmdScopedEntityManager = (EntityManager) this.env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); if (cmdScopedEntityManager != null) { cmdScopedEntityManager.clear(); } if (this.env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER) != null) { getCommandScopedPersistenceContext().close(); } TransactionSynchronizationManager.unbindResource("cmdEM"); } if (TransactionSynchronizationManager.hasResource(KieSpringTransactionManager.RESOURCE_CONTAINER)) { TransactionSynchronizationManager.unbindResource(KieSpringTransactionManager.RESOURCE_CONTAINER); } }
@Override public void completeWorkItem(long id, Map<String, Object> results) { Environment env = this.kruntime.getEnvironment(); // EntityManager em = (EntityManager) env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); PersistenceContext context = ((PersistenceContextManager) env.get( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER )).getCommandScopedPersistenceContext(); PersistentWorkItem workItemInfo = context.findWorkItem( id ); // work item may have been aborted if (workItemInfo != null) { WorkItem workItem = internalGetWorkItem(workItemInfo); workItem.setResults(results); ProcessInstance processInstance = kruntime.getProcessInstance(workItem.getProcessInstanceId()); workItem.setState(WorkItem.COMPLETED); // process instance may have finished already if (processInstance != null) { processInstance.signalEvent("workItemCompleted", workItem); } context.remove(workItemInfo); } }