如何在weblogic服务器的主题中创建消息先进先出
How to make messages in a topic in weblogic server first in first out
我正在使用 Oracle 融合中间件 12.1.3。 Weblogic 服务器 12.1.3 和 OSB 12.1.3。
我创建了 1 个连接工厂和一个主题。我有一个生产者向主题发送消息和 3 个消费者(订阅者)
我还设置了重新投递失败设置(每半小时重试 3 次),以防出现连接错误或网络问题,消息将写回主题并重试。
但我想确保按照接收消息的顺序重试消息。
例如,主题中有 3 条消息(消息 1、消息 2、消息 3),其中一个订阅者无法使用该消息,因此该消息在主题中处于待处理状态,将被重试。
但我希望它以相同的顺序重试,即消息 1、消息 2 和消息 3。
是否需要在 weblogic 或 OSB 中进行任何特定设置才能实现此行为
您是否尝试过使用 weblogic-specific Unit of Order feature?
What Is Message Unit-Of-Order?
Message Unit-of-Order is a WebLogic Server value-added feature that enables a stand-alone message producer, or a group of producers acting as one, to group messages into a single unit with respect to the processing order. This single unit is called a Unit-of-Order and requires that all messages from that unit be processed sequentially in the order they were created.
您可以通过编程方式配置它以获得更多控制,或者如果您无法控制生成的消息,则可以通过管理方式(通过 WLS 控制台、将一个连接工厂附加到连接工厂等)进行配置。
有关如何附加 JMS headers 以启用它的详细信息,您可能会发现 this site 有用。
我正在使用 Oracle 融合中间件 12.1.3。 Weblogic 服务器 12.1.3 和 OSB 12.1.3。 我创建了 1 个连接工厂和一个主题。我有一个生产者向主题发送消息和 3 个消费者(订阅者)
我还设置了重新投递失败设置(每半小时重试 3 次),以防出现连接错误或网络问题,消息将写回主题并重试。 但我想确保按照接收消息的顺序重试消息。 例如,主题中有 3 条消息(消息 1、消息 2、消息 3),其中一个订阅者无法使用该消息,因此该消息在主题中处于待处理状态,将被重试。 但我希望它以相同的顺序重试,即消息 1、消息 2 和消息 3。
是否需要在 weblogic 或 OSB 中进行任何特定设置才能实现此行为
您是否尝试过使用 weblogic-specific Unit of Order feature?
What Is Message Unit-Of-Order?
Message Unit-of-Order is a WebLogic Server value-added feature that enables a stand-alone message producer, or a group of producers acting as one, to group messages into a single unit with respect to the processing order. This single unit is called a Unit-of-Order and requires that all messages from that unit be processed sequentially in the order they were created.
您可以通过编程方式配置它以获得更多控制,或者如果您无法控制生成的消息,则可以通过管理方式(通过 WLS 控制台、将一个连接工厂附加到连接工厂等)进行配置。
有关如何附加 JMS headers 以启用它的详细信息,您可能会发现 this site 有用。