All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.codahale.metrics.jersey.InstrumentedResourceMethodDispatchAdapter Maven / Gradle / Ivy

package com.codahale.metrics.jersey;

import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.SharedMetricRegistries;
import com.sun.jersey.spi.container.ResourceMethodDispatchAdapter;
import com.sun.jersey.spi.container.ResourceMethodDispatchProvider;

import javax.ws.rs.ext.Provider;

/**
 * A provider that wraps a {@link ResourceMethodDispatchProvider} in an
 * {@link InstrumentedResourceMethodDispatchProvider}
 */
@Provider
public class InstrumentedResourceMethodDispatchAdapter implements ResourceMethodDispatchAdapter {
    private final MetricRegistry registry;

    /**
     * Construct a resource method dispatch adapter using the given metrics registry name.
     *
     * @param registryName the name of a shared metric registry
     */
    public InstrumentedResourceMethodDispatchAdapter(String registryName) {
        this(SharedMetricRegistries.getOrCreate(registryName));
    }

    /**
     * Construct a resource method dispatch adapter using the given metrics registry.
     * 

* When using this constructor, the {@link InstrumentedResourceMethodDispatchAdapter} * should be added to a Jersey {@code ResourceConfig} as a singleton. * * @param registry a {@link MetricRegistry} */ public InstrumentedResourceMethodDispatchAdapter(MetricRegistry registry) { this.registry = registry; } @Override public ResourceMethodDispatchProvider adapt(ResourceMethodDispatchProvider provider) { return new InstrumentedResourceMethodDispatchProvider(provider, registry); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy