public boolean register(final String topic, final String consumerGroup, final String expression, final String type, final long clientVersion) { if (ExpressionType.isTagType(type)) { return false; } if (expression == null || expression.length() == 0) { return false; } FilterDataMapByTopic filterDataMapByTopic = this.filterDataByTopic.get(topic); if (filterDataMapByTopic == null) { FilterDataMapByTopic temp = new FilterDataMapByTopic(topic); FilterDataMapByTopic prev = this.filterDataByTopic.putIfAbsent(topic, temp); filterDataMapByTopic = prev != null ? prev : temp; } BloomFilterData bloomFilterData = bloomFilter.generate(consumerGroup + "#" + topic); return filterDataMapByTopic.register(consumerGroup, expression, type, bloomFilterData, clientVersion); }
if (ExpressionType.isTagType(subscriptionData.getExpressionType())) { continue;
/** * Build consumer filter data.Be care, bloom filter data is not included. * * @return maybe null */ public static ConsumerFilterData build(final String topic, final String consumerGroup, final String expression, final String type, final long clientVersion) { if (ExpressionType.isTagType(type)) { return null; } ConsumerFilterData consumerFilterData = new ConsumerFilterData(); consumerFilterData.setTopic(topic); consumerFilterData.setConsumerGroup(consumerGroup); consumerFilterData.setBornTime(System.currentTimeMillis()); consumerFilterData.setDeadTime(0); consumerFilterData.setExpression(expression); consumerFilterData.setExpressionType(type); consumerFilterData.setClientVersion(clientVersion); try { consumerFilterData.setCompiledExpression( FilterFactory.INSTANCE.get(type).compile(expression) ); } catch (Throwable e) { log.error("parse error: expr={}, topic={}, group={}, error={}", expression, topic, consumerGroup, e.getMessage()); return null; } return consumerFilterData; }
if (!isRetryTopic && ExpressionType.isTagType(subscriptionData.getExpressionType())) { return true;
if (ExpressionType.isTagType(subscriptionData.getExpressionType())) {
if (ExpressionType.isTagType(subscriptionData.getExpressionType())) { return true;
SubscriptionData subscriptionData = requestBody.getSubscriptionData(); if (ExpressionType.isTagType(subscriptionData.getExpressionType())) { response.setCode(ResponseCode.SUCCESS); response.setRemark(null);
boolean isTagType = ExpressionType.isTagType(subscriptionData.getExpressionType()); this.pullAPIWrapper.pullKernelImpl( mq,
boolean isTagType = ExpressionType.isTagType(subscriptionData.getExpressionType()); PullResult pullResult = this.pullAPIWrapper.pullKernelImpl( mq,
public boolean register(final String topic, final String consumerGroup, final String expression, final String type, final long clientVersion) { if (ExpressionType.isTagType(type)) { return false; } if (expression == null || expression.length() == 0) { return false; } FilterDataMapByTopic filterDataMapByTopic = this.filterDataByTopic.get(topic); if (filterDataMapByTopic == null) { FilterDataMapByTopic temp = new FilterDataMapByTopic(topic); FilterDataMapByTopic prev = this.filterDataByTopic.putIfAbsent(topic, temp); filterDataMapByTopic = prev != null ? prev : temp; } BloomFilterData bloomFilterData = bloomFilter.generate(consumerGroup + "#" + topic); return filterDataMapByTopic.register(consumerGroup, expression, type, bloomFilterData, clientVersion); }
if (!ExpressionType.isTagType(expressionType) && findBrokerResult.getBrokerVersion() < MQVersion.Version.V4_1_0_SNAPSHOT.ordinal()) { throw new MQClientException("The broker[" + mq.getBrokerName() + ", "
if (ExpressionType.isTagType(subscriptionData.getExpressionType())) { continue;
requestHeader.getTopic(), requestHeader.getSubscription(), requestHeader.getExpressionType() ); if (!ExpressionType.isTagType(subscriptionData.getExpressionType())) { consumerFilterData = ConsumerFilterManager.build( requestHeader.getTopic(), requestHeader.getConsumerGroup(), requestHeader.getSubscription(), return response; if (!ExpressionType.isTagType(subscriptionData.getExpressionType())) { consumerFilterData = this.brokerController.getConsumerFilterManager().get(requestHeader.getTopic(), requestHeader.getConsumerGroup()); if (!ExpressionType.isTagType(subscriptionData.getExpressionType()) && !this.brokerController.getBrokerConfig().isEnablePropertyFilter()) { response.setCode(ResponseCode.SYSTEM_ERROR);
if (!isRetryTopic && ExpressionType.isTagType(subscriptionData.getExpressionType())) { return true;
if (ExpressionType.isTagType(subscriptionData.getExpressionType())) { return true;
/** * Build consumer filter data.Be care, bloom filter data is not included. * * @return maybe null */ public static ConsumerFilterData build(final String topic, final String consumerGroup, final String expression, final String type, final long clientVersion) { if (ExpressionType.isTagType(type)) { return null; } ConsumerFilterData consumerFilterData = new ConsumerFilterData(); consumerFilterData.setTopic(topic); consumerFilterData.setConsumerGroup(consumerGroup); consumerFilterData.setBornTime(System.currentTimeMillis()); consumerFilterData.setDeadTime(0); consumerFilterData.setExpression(expression); consumerFilterData.setExpressionType(type); consumerFilterData.setClientVersion(clientVersion); try { consumerFilterData.setCompiledExpression( FilterFactory.INSTANCE.get(type).compile(expression) ); } catch (Throwable e) { log.error("parse error: expr={}, topic={}, group={}, error={}", expression, topic, consumerGroup, e.getMessage()); return null; } return consumerFilterData; }
if (ExpressionType.isTagType(subscriptionData.getExpressionType())) {
SubscriptionData subscriptionData = requestBody.getSubscriptionData(); if (ExpressionType.isTagType(subscriptionData.getExpressionType())) { response.setCode(ResponseCode.SUCCESS); response.setRemark(null);
public boolean register(final String topic, final String consumerGroup, final String expression, final String type, final long clientVersion) { if (ExpressionType.isTagType(type)) { return false; } if (expression == null || expression.length() == 0) { return false; } FilterDataMapByTopic filterDataMapByTopic = this.filterDataByTopic.get(topic); if (filterDataMapByTopic == null) { FilterDataMapByTopic temp = new FilterDataMapByTopic(topic); FilterDataMapByTopic prev = this.filterDataByTopic.putIfAbsent(topic, temp); filterDataMapByTopic = prev != null ? prev : temp; } BloomFilterData bloomFilterData = bloomFilter.generate(consumerGroup + "#" + topic); return filterDataMapByTopic.register(consumerGroup, expression, type, bloomFilterData, clientVersion); }
if (!ExpressionType.isTagType(expressionType) && findBrokerResult.getBrokerVersion() < MQVersion.Version.V4_1_0_SNAPSHOT.ordinal()) { throw new MQClientException("The broker[" + mq.getBrokerName() + ", "