Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 主题为don'的服务总线订阅;不要使用过滤器_Azure_Azureservicebus - Fatal编程技术网

Azure 主题为don'的服务总线订阅;不要使用过滤器

Azure 主题为don'的服务总线订阅;不要使用过滤器,azure,azureservicebus,Azure,Azureservicebus,我尝试按照给定的教程在。我创建了一个主题,其中包含两个主题订阅,分别使用sqlFilter(用户年龄=50)。我为消息定义了自定义属性user\u age。 但是,当我发送有关该主题的消息时,两个订阅都会收到相同的消息,这是胡说八道! 有什么想法吗 我的代码完全受图图中给出的代码启发,但我使用此代码接收来自给定订阅的消息除外: resultQM = service.receiveSubscriptionMessage("MyTopic", subName, opts); 该教程中的代码无法正常

我尝试按照给定的教程在。我创建了一个主题,其中包含两个主题订阅,分别使用sqlFilter(用户年龄<50)和(用户年龄>=50)。我为消息定义了自定义属性user\u age。 但是,当我发送有关该主题的消息时,两个订阅都会收到相同的消息,这是胡说八道! 有什么想法吗

我的代码完全受图图中给出的代码启发,但我使用此代码接收来自给定订阅的消息除外:

resultQM = service.receiveSubscriptionMessage("MyTopic", subName, opts);

该教程中的代码无法正常工作。下面是我用来创建两个订阅(LowMessages和HighMessages)的Java代码,它们实际上根据用户定义的自定义属性“MessageNumber”的值进行过滤。我发现这个有用。注意:您需要显式地为ruleInfo指定一个名称(“RULENAME”),并且还需要显式地删除订阅的默认“AllMatch”规则(或者不进行筛选)

SubscriptionInfo subInfo=新的SubscriptionInfo(“低消息”);
CreateSubscriptionResult=service.createSubscription(“TestTopic”,子信息);
RuleInfo RuleInfo=新的RuleInfo(“RULENAME”);
ruleInfo=ruleInfo.withSqlExpressionFilter(“MessageNumber 3”);
CreateRuleResult ruleResult2=service.createRule(“TestTopic”、“HighMessages”、ruleInfo2);
deleteRule(“TestTopic”、“HighMessages”、“$Default”);

您能在创建两个订阅的地方发布代码吗?这是一个订阅的代码,另一个类似,我已经减少了空间。。。谢谢;)<代码>订阅信息子信息1=新订阅信息(“高年龄”);CreateSubscriptionResult result1=serviceBusContract.createSubscription(主题名,子信息1);ruleInfo1=ruleInfo1.withSqlExpressionFilter(“用户年龄>=50”);CreateRuleResult ruleResult=serviceBusContract.createRule(主题名称,“高年龄”,ruleInfo1)此代码看起来正常。你也可以发布你用来创建发送消息的代码吗?这是发送消息的代码<代码>代理消息消息=新代理消息(正文);message.setProperty(“name”,name);message.setProperty(“user_age”,Integer.parseInt(age));双ttl=86400;message.setTimeToLive(ttl);serviceBusContract.sendTopicMessage(主题,消息)名称和年龄值通过html表单提交。是否可以删除Integer.parseInt部分?只需有:
message.setProperty(“用户年龄”,年龄)
  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");