如果我在hornetq中配置了一个转移(从主题到队列),我希望它遵守消息上设置的任何TTL。"默认情况下"似乎不是这种情况。在这种情况下,将忽略消息过期。
如果我直接发送到队列,则支持TTL。
有没有办法让这种情况动态发生?甚至是静态的(通过分流器上的某些配置)?
一种方法是使用转移器的属性来提供变压器类<transformer-class-name>
以重置 ttl。变压器类可以按如下方式实现。
public class YourTransformer implements Transformer {
public ServerMessage transform(final ServerMessage message)
{
//your code;
}
}
有关实现示例,请查看HornetQ服务器附带的默认HornetQ示例。