我有一个设置了byte[] HexToByte(String str) {
int length = str.length();
byte[] bArr = new byte[(length / 2)];
for (int i = 0; i < length; i += 2) {
bArr[i / 2] = (byte) ((Character.digit(str.charAt(i), 16) << 4) + Character.digit(str.charAt(i + 1), 16));
}
return bArr;
}
String arg_1="IBbdPw==";
String arg_2="C6704D668D64DD012A86858C36F35D46F3";
String arg_3="58EB2DB3E1063FC93A";
decrypt(arg_1, HexToByte(arg_2.substring(0, 32)), HexToByte(arg_3.substring(0, 16)));
的队列。我遇到的问题是,我需要对队列已过期的队列中的消息进行进一步处理。 IF 我最初的想法是将x-expires
设置在队列中。但是,当队列到期时,消息就消失了,而没有进入死信交换。
如何对即将到期的队列中的消息进行死信处理或以其他方式处理?
答案 0 :(得分:1)
如注释中所建议,您不能仅依靠x-expire
功能来做到这一点。但是在类似情况下可行的解决方案是:
x-message-ttl
来确保如果不及时使用消息,消息就会消失x-expires
将队列过期设置为高于消息TTL的值,通过这种方式,已经处理了最后一个使用者死亡之前发布的消息,现有消息将在队列到期之前被死信化,并且新消息无法进入队列。
答案 1 :(得分:0)
您需要添加一个新的死信队列,该队列绑定到您的死信交换,并且绑定路由键设置为原始队列名。这样,所有发送到死信交换机的过期邮件都将路由到死信队列。