У меня есть приложение в Java с Spring boot 2, и я хочу прослушивать вставки в таблице, которые были сделаны триггером, я обязательно использую Camel, потому что это легко сделать, но Я не нашел ответа.
Я нашел это, но ссылки не работают.
is-there-any-possible-to-listen-on-an- sql -table-field-with-camel
Обновление и ответ
У меня есть подход, использующий компонент SQL: (Groovy код)
@Component
class PagosRouter extends RouteBuilder {
@Autowired
private OracleDataSource mydataSource
@Override
void configure() {
String rowId = 'row-ID'
from('sql:select * from THE_TABLE where IS_NEW = 1?dataSource=mydataSource')
// Catch every sigle row
.process { exchange ->
// Set in the header the md5 row
exchange.in.setHeader(rowId, exchange.in.body.toString().md5())
}
// Set a component that filter every rowId, discarting the repeated ones
.idempotentConsumer( header(rowId), new JdbcMessageIdRepository(mydataSource, 'theTableWatcher') )
.split(body()).parallelProcessing(true)
// Process the new rows
.process( { exchange ->
// Do somthing here
})
}
}