We use an OSGi environment and we have three OSGi plugins.
In plugin A an entity is loaded and the entity is passed to plugin B.
Plugin B changes an attribute on the entity.
Plugin C removes the entity from the database.
After commit the transaction an exception is caused with optimistic lock exception of the removed entity.
If this operations on the entity are executed in only one plugin, it works well.
Why the ObjectDB want to commit the changes of the entity although the entity will be removed, if we use three OSGi plugins.