Alright, my solution is:
- I am using a SessionCustomizer 
- adding a SessionEventAdapter
- override preExecuteQuery
- call Session.getIdentityMapAccessor().initializeAllIdentityMaps()
Codesnippet:
public void customize(Session session) throws Exception {
  
   SessionEventAdapter evtListener = new SessionEventAdapter() {
      
      @Override
      public void preExecuteQuery(SessionEvent event) {
          Session aSession = event.getSession();
          
          // check if cache invalidation is necessary....
          // if yes:
          aSession.getIdentityMapAccessor().initializeAllIdentityMaps();
      }
   }
}
Open Questions:
- is preExecuteQuery the right place?
- Does any better solution exist?
Thanks
Mc.Joe
Joe Mc. wrote:
  
  
    Hi everybody,
I trying to provide a functionality to delete the whole cache, to support
the possibility to refresh the objects in the cache.
How is the best practice to flush the whole cache?
I have the following use case:
- 2 separate Applications on different servers
- Both use JPA Eclipselink
- Application A reads the objects, I am using SoftWeak
- Application B modifies sometimes the data
desired is, that Application B gives Application A a signal (details are
here irrelevant), if he modified the data
Application A will flush his cache, if he gets this event.
Now the question is: Does any API exists to flush the (whole) cache?
Thanks in advance
Mc.Joe