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 ); } }
persistenceContext.persist(sessionInfo); return null;
@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 ); } }
this.sessionInfo = (SessionInfo) persistenceContext.persist( this.sessionInfo ); registerUpdateSync(); txm.commit( transactionOwner );