HystrixMetricsPublisherCommand getPublisherForCommand(HystrixCommandKey commandKey, HystrixCommandGroupKey commandOwner, HystrixCommandMetrics metrics, HystrixCircuitBreaker circuitBreaker, HystrixCommandProperties properties) {
        // attempt to retrieve from cache first
        HystrixMetricsPublisherCommand publisher = commandPublishers.get(commandKey.name());
        if (publisher != null) {
            return publisher;
        } else {
            synchronized (this) {
                HystrixMetricsPublisherCommand existingPublisher = commandPublishers.get(commandKey.name());
                if (existingPublisher != null) {
                    return existingPublisher;
                } else {
                    HystrixMetricsPublisherCommand newPublisher = HystrixPlugins.getInstance().getMetricsPublisher().getMetricsPublisherForCommand(commandKey, commandOwner, metrics, circuitBreaker, properties);
                    commandPublishers.putIfAbsent(commandKey.name(), newPublisher);
                    newPublisher.initialize();
                    return newPublisher;
                }
            }
        }
    }
HystrixMetricsPublisherCommand getPublisherForCommand ( HystrixCommandKey commandKey , HystrixCommandGroupKey commandOwner , HystrixCommandMetrics metrics , HystrixCircuitBreaker circuitBreaker , HystrixCommandProperties properties ) { HystrixMetricsPublisherCommand publisher = commandPublishers . get ( commandKey . name ( ) ) ; if ( publisher != null ) { return publisher ; } else { synchronized ( this ) { HystrixMetricsPublisherCommand existingPublisher = commandPublishers . get ( commandKey . name ( ) ) ; if ( existingPublisher != null ) { return existingPublisher ; } else { HystrixMetricsPublisherCommand newPublisher = HystrixPlugins . getInstance ( ) . getMetricsPublisher ( ) . getMetricsPublisherForCommand ( commandKey , commandOwner , metrics , circuitBreaker , properties ) ; commandPublishers . putIfAbsent ( commandKey . name ( ) , newPublisher ) ; newPublisher . initialize ( ) ; return newPublisher ; } } } }
/* package