switch (event.getPayloadType()) { case RemoteCommitEvent.PAYLOAD_OIDS: reindexTypesByName(event.getPersistedTypeNames(), em, session); reindexObjectsById(event.getUpdatedObjectIds(), em, session); deleteObjectsById(event.getDeletedObjectIds(), session); case RemoteCommitEvent.PAYLOAD_EXTENTS: Collection c = new HashSet(); c.addAll(event.getPersistedTypeNames()); c.addAll(event.getUpdatedTypeNames()); c.addAll(event.getDeletedTypeNames());
/** * This method is part of the {@link RemoteCommitListener} interface. If * your cache subclass relies on OpenJPA for clustering support, make it * implement <code>RemoteCommitListener</code>. This method will take * care of invalidating entries from remote commits, by delegating to * {@link #onTypesChanged}. */ public void afterCommit(RemoteCommitEvent event) { if (_closed) return; // drop all committed classes Set classes = Caches.addTypesByName(conf, event.getPersistedTypeNames(), null); if (event.getPayloadType() == RemoteCommitEvent.PAYLOAD_EXTENTS) { classes = Caches.addTypesByName(conf, event.getUpdatedTypeNames(), classes); classes = Caches.addTypesByName(conf, event.getDeletedTypeNames(), classes); } else { classes = addTypes(event.getUpdatedObjectIds(), classes); classes = addTypes(event.getDeletedObjectIds(), classes); } if (classes != null) onTypesChanged(new TypesChangedEvent(this, classes)); }
/** * This method is part of the {@link RemoteCommitListener} interface. If * your cache subclass relies on OpenJPA for clustering support, make it * implement <code>RemoteCommitListener</code>. This method will take * care of invalidating entries from remote commits, by delegating to * {@link #onTypesChanged}. */ public void afterCommit(RemoteCommitEvent event) { if (_closed) return; // drop all committed classes Set classes = Caches.addTypesByName(conf, event.getPersistedTypeNames(), null); if (event.getPayloadType() == RemoteCommitEvent.PAYLOAD_EXTENTS) { classes = Caches.addTypesByName(conf, event.getUpdatedTypeNames(), classes); classes = Caches.addTypesByName(conf, event.getDeletedTypeNames(), classes); } else { classes = addTypes(event.getUpdatedObjectIds(), classes); classes = addTypes(event.getDeletedObjectIds(), classes); } if (classes != null) onTypesChanged(new TypesChangedEvent(this, classes)); }
/** * This method is part of the {@link RemoteCommitListener} interface. If * your cache subclass relies on OpenJPA for clustering support, make it * implement <code>RemoteCommitListener</code>. This method will take * care of invalidating entries from remote commits, by delegating to * {@link #onTypesChanged}. */ public void afterCommit(RemoteCommitEvent event) { if (_closed) return; // drop all committed classes Set classes = Caches.addTypesByName(conf, event.getPersistedTypeNames(), null); if (event.getPayloadType() == RemoteCommitEvent.PAYLOAD_EXTENTS) { classes = Caches.addTypesByName(conf, event.getUpdatedTypeNames(), classes); classes = Caches.addTypesByName(conf, event.getDeletedTypeNames(), classes); } else { classes = addTypes(event.getUpdatedObjectIds(), classes); classes = addTypes(event.getDeletedObjectIds(), classes); } if (classes != null) onTypesChanged(new TypesChangedEvent(this, classes)); }
/** * This method is part of the {@link RemoteCommitListener} interface. If * your cache subclass relies on OpenJPA for clustering support, make it * implement <code>RemoteCommitListener</code>. This method will take * care of invalidating entries from remote commits, by delegating to * {@link #onTypesChanged}. */ public void afterCommit(RemoteCommitEvent event) { if (_closed) return; // drop all committed classes Set classes = Caches.addTypesByName(conf, event.getPersistedTypeNames(), null); if (event.getPayloadType() == RemoteCommitEvent.PAYLOAD_EXTENTS) { classes = Caches.addTypesByName(conf, event.getUpdatedTypeNames(), classes); classes = Caches.addTypesByName(conf, event.getDeletedTypeNames(), classes); } else { classes = addTypes(event.getUpdatedObjectIds(), classes); classes = addTypes(event.getDeletedObjectIds(), classes); } if (classes != null) onTypesChanged(new TypesChangedEvent(this, classes)); }
/** * This method is part of the {@link RemoteCommitListener} interface. If * your cache subclass relies on OpenJPA for clustering support, make it * implement <code>RemoteCommitListener</code>. This method will take * care of invalidating entries from remote commits, by delegating to * {@link #onTypesChanged}. */ public void afterCommit(RemoteCommitEvent event) { if (_closed) return; // drop all committed classes Set classes = Caches.addTypesByName(conf, event.getPersistedTypeNames(), null); if (event.getPayloadType() == RemoteCommitEvent.PAYLOAD_EXTENTS) { classes = Caches.addTypesByName(conf, event.getUpdatedTypeNames(), classes); classes = Caches.addTypesByName(conf, event.getDeletedTypeNames(), classes); } else { classes = addTypes(event.getUpdatedObjectIds(), classes); classes = addTypes(event.getDeletedObjectIds(), classes); } if (classes != null) onTypesChanged(new TypesChangedEvent(this, classes)); }