I didn't some testing but couldn't reproduce your error. One thing particular I see in your app is your StructureSession calls CollectorSession, which in turn has a reference to StructureSession. CollectorSession.remove also removes StructureSession. How does CollectorSession acqurire the reference to StructureSession?
@Remove method can have any tx attribute so it should not be necessary to use NEVER.
Can you create a simple test app to reproduce your problem?
-cheng
[Message sent by forum member 'cf126330' (cf126330)]
http://forums.java.net/jive/thread.jspa?messageID=242965