Eu encontrei o era para obter o RowId. Do
queryChangeDescription
você pode obter as TabeleChangeDesciptions
que não tem nada em comum com o TableChangeDecription do evento. Se houver alterações em mais de uma Tabela, essas tabelas foram listadas no Array. Como estou registrado em apenas uma Tabela, não preciso iterar sobre a lista. Depois de ter o
TableChangeDescription
você pode obter o RowChangeDescription
para cada linha alterada. A partir disso, você pode obter o RowId. for (QueryChangeDescription queryChangeDescription : databaseChangeEvent.getQueryChangeDescription()) {
RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription();
for (RowChangeDescription rowChangeDescription : rowChangeDescriptions) {
handleEvent(rowChangeDescription.getRowid());
}
}