Class GenericServiceDetectorFactory<T extends ServiceDetector>

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterDetect​(DetectRequest request, DetectResults results, java.lang.Integer nodeId)
      Optional implementation.
      DetectRequest buildRequest​(java.lang.String location, java.net.InetAddress address, java.lang.Integer port, java.util.Map<java.lang.String,​java.lang.String> attributes)
      Builds the request that will be used to invoke the detector.
      T createDetector​(java.util.Map<java.lang.String,​java.lang.String> properties)
      Instantiates a new detector and set bean properties.
      java.lang.Class<T> getDetectorClass()
      Used by the detector registry to track and index the detector types.
      void setBeanProperties​(ServiceDetector detector, java.util.Map<java.lang.String,​java.lang.String> properties)
      Set detector attributes as bean properties.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GenericServiceDetectorFactory

        public GenericServiceDetectorFactory​(java.lang.Class<T> clazz)
    • Method Detail

      • createDetector

        public T createDetector​(java.util.Map<java.lang.String,​java.lang.String> properties)
        Description copied from interface: ServiceDetectorFactory
        Instantiates a new detector and set bean properties. One of the ways to set bean properties is using Spring @BeanWrapper
         
                 BeanWrapper wrapper = PropertyAccessorFactory.forBeanPropertyAccess(serviceDetector);
                 wrapper.setPropertyValues(properties);
         
         
        Detectors are treated as protoypes and should only be used for a single call to "isServiceDetected".
        Specified by:
        createDetector in interface ServiceDetectorFactory<T extends ServiceDetector>
        Parameters:
        properties - are used to set properties on detector bean.
      • buildRequest

        public DetectRequest buildRequest​(java.lang.String location,
                                          java.net.InetAddress address,
                                          java.lang.Integer port,
                                          java.util.Map<java.lang.String,​java.lang.String> attributes)
        Description copied from interface: ServiceDetectorFactory
        Builds the request that will be used to invoke the detector.
        Specified by:
        buildRequest in interface ServiceDetectorFactory<T extends ServiceDetector>
        Parameters:
        location - name of the location in which the detector will be invoked
        address - address of the agent against which the detector will be invoked
        port - port of the agent against which the detector will be invoked
        Returns:
        a new DetectRequest
      • setBeanProperties

        public void setBeanProperties​(ServiceDetector detector,
                                      java.util.Map<java.lang.String,​java.lang.String> properties)
        Set detector attributes as bean properties.
        Parameters:
        detector - ServiceDetector
        properties - detector attributes from foreign source configuration