[英]Control Masstransit Exchanges and Bindings
我正在使用大眾運輸。 我想避免為端點創建交換,而是希望端點隊列直接綁定到發布交換。
這是我的代碼
cfg.Message<Notification>(x => { x.SetEntityName("NOTIFICATION_REQUEST"); });
g.ReceiveEndpoint("notification-workerQ", e =>
{
e.Consumer<NotificationConsumer>();
});
這創造了
有沒有辦法避免通知-workerQ 交換並將隊列直接綁定到 NOTIFICATION_REQUEST 交換?
附加問題
我被要求根本不創建交換,而是使用已經存在的主題交換,我將隊列綁定到使用路由鍵。
這意味着我的 notification-workerQ 應該使用“componentX.something.notification”之類的路由鍵綁定到 GENERIC_DROP 交換
也許像
g.ReceiveEndpoint("notification-workerQ", e =>
{
e.Consumer<NotificationConsumer>(x =>
{
//THIS IS NOT WORKING CODE
x.consumeFrom("GENERIC_DROP", "ROUTING_KEY")
});
});
沒有辦法阻止 MassTransit 創建notification-workerQ
交換,因為 MassTransit 總是為隊列創建匹配的交換。
但是,您可以通過配置接收端點,將現有的主題交換與路由鍵綁定,如下所示。
e.Bind("NOTIFICATION_REQUEST", x =>
{
x.RoutingKey = "ROUTING_KEY";
x.ExchangeType = ExchangeType.Topic;
});
還有一個示例展示了如何使用直接交換,主題交換的配置方式相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.