Oracle 10g中的触发器为常规表中的行子集生成upsert和delete消息。这些消息包含两个字段:
在使用这些消息时,我想对deque进程强加一个遵守以下约束的命令:
我正在使用Oracle Java接口进行AQ。有关如何实现这一目标的任何指示?
答案 0 :(得分:2)
我认为默认的出队顺序是先进先出,因此它们将按入队顺序排队。
对于你的第二点,你是说你要序列化非唯一ID上的队列?即,您的队列中基本上有很多队列,并且您只希望一个作业在任何时候从每个队列中消耗消息?
即你有消息:
1 | a
2 | a
3 | b
4 | a
这里有两种类型的记录(a和b),你希望1个作业消耗所有的a和另一个消耗所有的b。如果是这种情况,可考虑创建多个队列吗?
多个队列失败,看看你传递给出列程序的dequeue_options_t类型 - 最值得注意的是dequeue_condition - 这允许你只选择特定的消息,这样你就可以为所有a和另一个所有人开始一个工作。 b等。