コード例 #1
0
 @Override
 public void removeStream(StreamDefinition streamDefinition, Credentials credentials) {
   topicStreamDefinitionMap.remove(createTopic(streamDefinition));
   Map<String, BrokerListener> brokerListeners =
       topicBrokerListenerMap.get(createTopic(streamDefinition));
   if (brokerListeners != null) {
     for (BrokerListener brokerListener : brokerListeners.values()) {
       try {
         brokerListener.removeEventDefinition(streamDefinition);
       } catch (BrokerEventProcessingException e) {
         log.error(
             "Cannot remove Stream Definition from a brokerListener subscribed to "
                 + streamDefinition.getStreamId(),
             e);
       }
     }
   }
   streamIdBrokerListenerMap.remove(streamDefinition.getStreamId());
 }
コード例 #2
0
 @Override
 public void receive(List<Event> events, Credentials credentials) {
   for (Event event : events) {
     Map<String, BrokerListener> brokerListeners =
         streamIdBrokerListenerMap.get(event.getStreamId());
     if (brokerListeners == null) {
       try {
         definedStream(
             BrokerServiceValueHolder.getDataBridgeSubscriberService()
                 .getStreamDefinition(credentials, event.getStreamId()),
             credentials);
       } catch (StreamDefinitionNotFoundException e) {
         log.error("No Stream definition store found for the event " + event.getStreamId(), e);
         return;
       } catch (StreamDefinitionStoreException e) {
         log.error(
             "No Stream definition store found when checking stream definition for "
                 + event.getStreamId(),
             e);
         return;
       }
       brokerListeners = streamIdBrokerListenerMap.get(event.getStreamId());
       if (brokerListeners == null) {
         log.error("No broker listeners for  " + event.getStreamId());
         return;
       }
     }
     for (BrokerListener brokerListener : brokerListeners.values()) {
       try {
         brokerListener.onEvent(event);
       } catch (BrokerEventProcessingException e) {
         log.error(
             "Cannot send event to a brokerListener subscribed to " + event.getStreamId(), e);
       }
     }
   }
 }
コード例 #3
0
 @Override
 public void definedStream(StreamDefinition streamDefinition, Credentials credentials) {
   topicStreamDefinitionMap.put(createTopic(streamDefinition), streamDefinition);
   Map<String, BrokerListener> brokerListeners =
       topicBrokerListenerMap.get(createTopic(streamDefinition));
   if (brokerListeners == null) {
     brokerListeners = new HashMap<String, BrokerListener>();
     topicBrokerListenerMap.put(createTopic(streamDefinition), brokerListeners);
   }
   //            inputTypeDefMap.put(streamDefinition.getName(), streamDefinition);
   for (BrokerListener brokerListener : brokerListeners.values()) {
     try {
       brokerListener.addEventDefinition(streamDefinition);
     } catch (BrokerEventProcessingException e) {
       log.error(
           "Cannot send Stream Definition to a brokerListener subscribed to "
               + streamDefinition.getStreamId(),
           e);
     }
   }
   streamIdBrokerListenerMap.put(
       streamDefinition.getStreamId(),
       topicBrokerListenerMap.get(createTopic(streamDefinition)));
 }
コード例 #4
0
 public String subscribe(
     String topicName,
     BrokerListener brokerListener,
     BrokerConfiguration brokerConfiguration,
     AxisConfiguration axisConfiguration)
     throws BrokerEventProcessingException {
   String subscriptionId = UUID.randomUUID().toString();
   if (!topicBrokerListenerMap.containsKey(topicName)) {
     Map<String, BrokerListener> map = new HashMap<String, BrokerListener>();
     map.put(subscriptionId, brokerListener);
     topicBrokerListenerMap.put(topicName, map);
   } else {
     topicBrokerListenerMap.get(topicName).put(subscriptionId, brokerListener);
     StreamDefinition streamDefinition = topicStreamDefinitionMap.get(topicName);
     if (streamDefinition != null) {
       brokerListener.addEventDefinition(streamDefinition);
     }
   }
   return subscriptionId;
 }