32.2. 从端点消耗
从 JPA consumer 端点消耗消息会删除(或更新)数据库中的实体 Bean。这可让您将数据库表用作逻辑队列:消费者从队列中获取消息,然后删除/更新它们以逻辑地将其从队列中删除。
如果您不想在处理实体 Bean 时删除它(在路由完成后),您可以在 URI 中指定 consumeDelete=false
。这将导致实体处理每个轮询。
如果您想对实体执行一些更新,将其标记为已处理(例如,从将来的查询中排除它),您可以使用 @Consumed 注解方法,它会在实体 Bean 被处理时调用它。
您可以使用 @PreConsumed,它会在处理前在实体 bean 上调用(在路由之前)。
如果您消耗了大量行(100K+),且遇到 OutOfMemory 问题,您应该将 maxResults 设置为 sensable 值。