Weblogic存储和转发以及为什么它不';是否尝试发送存储的消息?

Weblogic存储和转发以及为什么它不';是否尝试发送存储的消息?,weblogic,Weblogic,我有带SAF配置的本地Weblogic 目的地已关闭,我在日志(logs/safagents/ContentEngineSAF/jms.messages.log)中看到,我发送的一些消息已存储,并且在不到100毫秒后过期 当目的地启动并运行时,这些存储的消息根本不会被转发。在Weblogic中何处查找消息不转发的原因 配置的哪个部分负责此行为: 存储->尝试转发(我的日志中没有)->过期->再次尝试转发->过期->再次尝试转发->转发 在日志中,我只有JMS消息或存储转发的存储和过期信息 在SA

我有带SAF配置的本地Weblogic

目的地已关闭,我在日志(logs/safagents/ContentEngineSAF/jms.messages.log)中看到,我发送的一些消息已存储,并且在不到100毫秒后过期

当目的地启动并运行时,这些存储的消息根本不会被转发。在Weblogic中何处查找消息不转发的原因

配置的哪个部分负责此行为:

存储->尝试转发(我的日志中没有)->过期->再次尝试转发->过期->再次尝试转发->转发

在日志中,我只有JMS消息或存储转发的存储和过期信息

在SAF代理中,生存时间是0,这意味着当消息处于当前状态时,它应该永远存在,直到它被转发(消耗),我猜

但是在JMS模块myjmssystwmresource、mysafmimporteddestination/Queues/myQueue中,有一个默认生存时间:100。我猜这里的配置如果在100毫秒后失败,转到过期并从存储中删除,对吗

所以,要一直到成功转发消息,应该是0还是-1

已编辑

当消息过期时,意味着它已从存储中删除,因此这就是它不再发送的原因

这就是为什么我实现了SAF错误处理,现在没有过期或删除的消息,但仍然有一些消息只是存储了,但没有转发


我是否应该更改生存时间值,以及如何更改,0、-1或大于100ms的数字?

这是oracle对saf agent生存时间的描述:

代理保证可靠发送消息的默认时间量(以毫秒为单位)。 值0表示代理保证在会话期间可靠地发送消息。 更新DefaultTimeToLive会导致更新后开始的对话使用新值。 MBean属性: SafagentBean.DefaultTimeToLive 最小值:0

这就是saf代理无法传递消息的原因:

Network outage
The endpoint does not exist (not configured)
The endpoint is down
Endpoint quota failure
Security denial
Required QOS is not supported
The WSRM conversation times out (the conversation is idle for too long).

请查看发送saf代理另一侧的导入目的地。

“值0表示代理保证在会话期间可靠地发送消息。”-请解释一下,什么是“会话期间”?如果是-1呢?此外,我有一个集群环境(3个节点),对于SAF,每个节点是否需要3个JMS服务器?我不明白在发送消息失败后,为什么不尝试不时重新发送?因为我没有JMS服务器?