c#-使用Servicestack在RabbitMQ队列上设置TTL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-使用Servicestack在RabbitMQ队列上设置TTL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含889字,纯文字阅读大概需要2分钟。
内容图文
I have read,可以在RabbitMQ(每个队列)上设置生存时间(TTL),以便如果TTL过期,RabbitMQ服务器将从队列中清除消息,并且服务器将保证消息具有过期的TTL将不会被处理.
我正在使用service stack to connect to various rabbitMq’s;特别是我用它来充当RabbitMQ提供的RPC功能的基础,并且效果很好.
我无法找到任何信息(也正在查看代码-支持)来声明队列时设置队列的TTL.据我所知,队列的创建被埋在Service Stack实现中-该实现抽象了很多队列详细信息以提供简化的服务抽象,而与传输层无关.
是否有可能这样做(使用服务栈在Rabbit MQ上设置TTL)-还是将来有可能这样做?
解决方法:
我添加了一个过滤器,该过滤器可让您自定义创建Rabbit MQ队列和主题的选项,并可以使用新的CreateQueueFilter指定这些选项,例如:
container.Register<IMessageService>(c =>
new RabbitMqServer(ConnectionString)
{
CreateQueueFilter = (queueName, args) =>
{
if (queueName == QueueNames<MyRequest>.In)
{
args["x-message-ttl"] = 60000;
}
}
});
此更改可从v4.5.7(现在为available on MyGet)获得.
内容总结
以上是互联网集市为您收集整理的c#-使用Servicestack在RabbitMQ队列上设置TTL全部内容,希望文章能够帮你解决c#-使用Servicestack在RabbitMQ队列上设置TTL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。