My first idea would be to wrap all entity bean access behind session beans.
The session bean could then put a message on a JMS Queue to say a change has occured.
A message driven bean could then execute your synchronisation logic when it receives the message.
well, the problem is that it's a fairly large system and to wrap all the entity beans in session beans would be a fairly large project.
i was hoping that there would be a way to do this that would not involve rewriting a lot of code.
Just yesterday, I noticed on xdoclet's site that there's a tag for Entity beans that will automatically wrap them in a session bean. Can't remember the name though....that might reduce some of your work...