@Override public void begin() { if (isActive()) { throw new IllegalStateException("Transaction is already active"); } else { this.coordinator = ((EntityManagerImpl) entityManager).getPersistenceDelegator().getCoordinator(); ((EntityManagerImpl) entityManager).getPersistenceDelegator().begin(); // transaction // de-marcation. this.coordinator.coordinate(TxAction.BEGIN); } }