У меня возникли проблемы с фиксацией транзакции CDO. Все работает нормально в первый раз, когда я пытаюсь зафиксировать, но во второй раз я получаю это исключение:
org.eclipse.net4j.util.lifecycle.LifecycleException: Not active: CDOTransactionImpl
Вот код:
final TransactionalEditingDomain domain = editor.getDiagramBehavior().getEditingDomain();
domain.getCommandStack().execute(new RecordingCommand(domain) {
protected void doExecute() {
try {
// Open a transaction
CDOTransaction cdoTransaction = cdoSession.openTransaction();
cdoTransaction.addListener(new LifeListener());
// Create a resource
CDOResource cdoResource = cdoTransaction.getOrCreateResource(RESOURCE);
if (existingComponent != null) { // update the existing component
cdoResource.getContents().remove(existingComponent);
}
cdoResource.getContents().add(component);
cdoTransaction.commit();
// Close the transaction
cdoTransaction.close();
} catch (ConcurrentAccessException e) {
logger.error("Error during the CDO repository transaction.", e);
} catch (CommitException e) {
logger.error("Error commiting the CDO repository transaction.", e);
}
}
});
component
? если это то же самое, что и при последней попытке, это может быть вашей проблемой, поскольку транзакция, которая «владеет»component
, закрыта. - person Simiil   schedule 24.08.2016