該教程中的代碼不能正常工作。下面是我用來創建兩個訂閱的Java代碼(LowMessages和HighMessages),它們實際上會篩選用戶定義的定製屬性「MessageNumber」的值。我發現這個作品。請注意,你需要明確給出ruleInfo名稱(「RULENAME」),你還需要明確刪除訂閱的默認「AllMatch」規則(或你沒有過濾。)
SubscriptionInfo subInfo = new SubscriptionInfo("LowMessages");
CreateSubscriptionResult result = service.createSubscription("TestTopic", subInfo);
RuleInfo ruleInfo = new RuleInfo("RULENAME");
ruleInfo = ruleInfo.withSqlExpressionFilter("MessageNumber <= 3");
CreateRuleResult ruleResult = service.createRule("TestTopic", "LowMessages", ruleInfo);
service.deleteRule("TestTopic", "LowMessages", "$Default");
SubscriptionInfo subInfo2 = new SubscriptionInfo("HighMessages");
CreateSubscriptionResult result2 = service.createSubscription("TestTopic", subInfo2);
RuleInfo ruleInfo2 = new RuleInfo("RULENAME2");
ruleInfo2 = ruleInfo2.withSqlExpressionFilter("MessageNumber > 3");
CreateRuleResult ruleResult2 = service.createRule("TestTopic", "HighMessages", ruleInfo2);
service.deleteRule("TestTopic", "HighMessages", "$Default");
你能張貼代碼哪裏你創建了2個訂閱? –
這是一個訂閱的代碼,另一個是類似的我已經減少了空間...謝謝;) '訂閱信息subInfo1 =新訂閱信息(「High_Ages」); CreateSubscriptionResult result1 = serviceBusContract.createSubscription(topicName,subInfo1); ruleInfo1 = ruleInfo1.withSqlExpressionFilter(「user_age> = 50」); CreateRuleResult ruleResult = serviceBusContract.createRule(topicName,「High_Ages」,ruleInfo1);' – orleant
此代碼看起來不錯。你還可以發佈你用來創建發送消息的代碼嗎? –