gpt4 book ai didi

org.apache.airavata.wsmg.matching.XPath.YFilterMessageMatcher.writeLockUnlockConsumers()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-18 18:49:31 29 4
gpt4 key购买 nike

本文整理了Java中org.apache.airavata.wsmg.matching.XPath.YFilterMessageMatcher.writeLockUnlockConsumers()方法的一些代码示例,展示了YFilterMessageMatcher.writeLockUnlockConsumers()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YFilterMessageMatcher.writeLockUnlockConsumers()方法的具体详情如下:
包路径:org.apache.airavata.wsmg.matching.XPath.YFilterMessageMatcher
类名称:YFilterMessageMatcher
方法名:writeLockUnlockConsumers

YFilterMessageMatcher.writeLockUnlockConsumers介绍

暂无

代码示例

代码示例来源:origin: org.apache.airavata/airavata-message-broker

public int handleUnsubscribe(String subscriptionId) {
  int ret = 1;
  writeLockUnlockConsumers(true);
  try {
    String topicExpression = subIdToTopic.get(subscriptionId);
    if (subscriptionId.startsWith("T")) { // Topic only
      consumerListmanager.removeFromConsumerList(subscriptionId, topicExpression);
    } else {
      YFilterInfo yfilterInfo = topicToYFilterInfo.get(topicExpression);
      if (yfilterInfo != null) {
        yfilterInfo.removeSubscription(subscriptionId);
        if (yfilterInfo.getCounter() == 0) {
          yfilterInfo = null;
          topicToYFilterInfo.remove(topicExpression);
        }
      } else {
        System.out.println("ERROR: Cannot find subscription with the subId=" + subscriptionId);
        ret = 0;
      }
    }
  } finally {
    writeLockUnlockConsumers(false);
  }
  return ret;
}

代码示例来源:origin: org.apache.airavata/messagebroker

public int handleUnsubscribe(String subscriptionId) {
  int ret = 1;
  writeLockUnlockConsumers(true);
  try {
    String topicExpression = subIdToTopic.get(subscriptionId);
    if (subscriptionId.startsWith("T")) { // Topic only
      consumerListmanager.removeFromConsumerList(subscriptionId, topicExpression);
    } else {
      YFilterInfo yfilterInfo = topicToYFilterInfo.get(topicExpression);
      if (yfilterInfo != null) {
        yfilterInfo.removeSubscription(subscriptionId);
        if (yfilterInfo.getCounter() == 0) {
          yfilterInfo = null;
          topicToYFilterInfo.remove(topicExpression);
        }
      } else {
        System.out.println("ERROR: Cannot find subscription with the subId=" + subscriptionId);
        ret = 0;
      }
    }
  } finally {
    writeLockUnlockConsumers(false);
  }
  return ret;
}

代码示例来源:origin: org.apache.airavata/airavata-message-broker

public void handleSubscribe(SubscriptionState subscribeRequest, String subscriptionId) {
  // Get the write lock
  writeLockUnlockConsumers(true);
  try {
    String topicExpression = subscribeRequest.getLocalTopic();
    subIdToTopic.put(subscriptionId, topicExpression);
    String xpathExpression = subscribeRequest.getXpathString();
    if (xpathExpression == null || xpathExpression.length() == 0) { // Topic
      // only
      consumerListmanager.addToConsumerList(topicExpression, subscribeRequest, subscriptionId);
    } else {
      YFilterInfo yfilterInfo = topicToYFilterInfo.get(topicExpression);
      if (yfilterInfo == null) {
        yfilterInfo = new YFilterInfo();
        topicToYFilterInfo.put(topicExpression, yfilterInfo);
      }
      yfilterInfo.addXPathQuery(xpathExpression, subscriptionId, subscribeRequest);
    }
    if (outGoingQueue == null) {
      outGoingQueue = subscribeRequest.getOutGoingQueue();
    }
  } finally {
    // release the write lock
    writeLockUnlockConsumers(false);
  }
  return;
}

代码示例来源:origin: org.apache.airavata/messagebroker

public void handleSubscribe(SubscriptionState subscribeRequest, String subscriptionId) {
  // Get the write lock
  writeLockUnlockConsumers(true);
  try {
    String topicExpression = subscribeRequest.getLocalTopic();
    subIdToTopic.put(subscriptionId, topicExpression);
    String xpathExpression = subscribeRequest.getXpathString();
    if (xpathExpression == null || xpathExpression.length() == 0) { // Topic
      // only
      consumerListmanager.addToConsumerList(topicExpression, subscribeRequest, subscriptionId);
    } else {
      YFilterInfo yfilterInfo = topicToYFilterInfo.get(topicExpression);
      if (yfilterInfo == null) {
        yfilterInfo = new YFilterInfo();
        topicToYFilterInfo.put(topicExpression, yfilterInfo);
      }
      yfilterInfo.addXPathQuery(xpathExpression, subscriptionId, subscribeRequest);
    }
    if (outGoingQueue == null) {
      outGoingQueue = subscribeRequest.getOutGoingQueue();
    }
  } finally {
    // release the write lock
    writeLockUnlockConsumers(false);
  }
  return;
}

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com