for (QueryChangeDescription queryChangeDescription : databaseChangeEvent.getQueryChangeDescription()) { RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription(); for (RowChangeDescription rowChangeDescription : rowChangeDescriptions) { handleEvent(rowChangeDescription.getRowid()); } }
public void onDatabaseChangeNotification(DatabaseChangeEvent dce) { if (e.getRegId() == dcr.getRegId()) System.out.println("Changed row id : "+dce.getTableChangeDescription()[0].getRowChangeDescription()[0].getRowid().stringValue()); }
public void onDatabaseChangeNotification(DatabaseChangeEvent changeEvent) { databaseSession.log(SessionLog.FINEST, SessionLog.CONNECTION, "dcn_change_event", changeEvent); if (changeEvent.getTableChangeDescription() != null) { for (TableChangeDescription tableChange : changeEvent.getTableChangeDescription()) { ClassDescriptor descriptor = OracleChangeNotificationListener.this.descriptorsByTable.get(new DatabaseTable(tableChange.getTableName())); if (descriptor != null) { CacheIndex index = descriptor.getCachePolicy().getCacheIndex(fields); for (RowChangeDescription rowChange : tableChange.getRowChangeDescription()) { CacheId id = new CacheId(new Object[]{rowChange.getRowid().stringValue()}); CacheKey key = databaseSession.getIdentityMapAccessorInstance().getIdentityMapManager().getCacheKeyByIndex( index, id, true, descriptor); if (key != null) { if ((key.getTransactionId() == null) || !key.getTransactionId().equals(changeEvent.getTransactionId(true))) { databaseSession.log(SessionLog.FINEST, SessionLog.CONNECTION, "dcn_invalidate", key.getKey(), descriptor.getJavaClass().getName()); key.setInvalidationState(CacheKey.CACHE_KEY_INVALID); } } } } } } } });
final List<DatabaseField> fields = new ArrayList<DatabaseField>(); fields.add(new DatabaseField(ROWID)); this.register.addListener(new DatabaseChangeListener() { public void onDatabaseChangeNotification(DatabaseChangeEvent changeEvent) { databaseSession.log(SessionLog.FINEST, SessionLog.CONNECTION, "dcn_change_event", changeEvent);
@Override public void onDatabaseChangeNotification(DatabaseChangeEvent changeEvent) { databaseSession.log(SessionLog.FINEST, SessionLog.CONNECTION, "dcn_change_event", changeEvent); if (changeEvent.getTableChangeDescription() != null) { for (TableChangeDescription tableChange : changeEvent.getTableChangeDescription()) { ClassDescriptor descriptor = OracleChangeNotificationListener.this.descriptorsByTable.get(new DatabaseTable(tableChange.getTableName())); if (descriptor != null) { CacheIndex index = descriptor.getCachePolicy().getCacheIndex(fields); for (RowChangeDescription rowChange : tableChange.getRowChangeDescription()) { CacheId id = new CacheId(new Object[]{rowChange.getRowid().stringValue()}); CacheKey key = databaseSession.getIdentityMapAccessorInstance().getIdentityMapManager().getCacheKeyByIndex( index, id, true, descriptor); if (key != null) { if ((key.getTransactionId() == null) || !key.getTransactionId().equals(changeEvent.getTransactionId(true))) { databaseSession.log(SessionLog.FINEST, SessionLog.CONNECTION, "dcn_invalidate", key.getKey(), descriptor.getJavaClass().getName()); key.setInvalidationState(CacheKey.CACHE_KEY_INVALID); } } } } } } } });
final List<DatabaseField> fields = new ArrayList<DatabaseField>(); fields.add(new DatabaseField(ROWID)); this.register.addListener(new DatabaseChangeListener() { @Override public void onDatabaseChangeNotification(DatabaseChangeEvent changeEvent) {