jersey2-toolkit

Build Status Coverage Status Maven Central

A collection of useful Jersey2 Features

This project contains a collection of mix-and-match Jersey2 Features which can enhance and accelerate your web service development. Features can be loaded wholesale, or can be assembled on an as-needed basis.

<dependency>
    <groupId>net.krotscheck.jersey2</groupId>
    <artifactId>jersey2-toolkit</artifactId>
    <version>2.1.1</version>
</dependency>

Basic Usage

Each feature is a distinct submodule, to isolate dependencies. Each submodule contains one feature class which includes all components of that feature, which may be used as follows:

import net.krotscheck.jersey2.hibernate.HibernateFeature;
import org.glassfish.jersey.server.ResourceConfig;

public class YourApplication extends ResourceConfig {
    public YourApplication() {
        register(HibernateFeature.class);
    }
}

Advanced Usage

In all cases, each component is dependent on an injection chain from the other components, and is kept relatively isolated. Furthermore, every component injector contains a public internal class called Binder which may be used to construct your own feature. Therefore, if you have a custom implementation of a particular component that you would rather use, or you would like to exclude some feature, you may construct your own as follows:

public final class CustomHibernateFeature implements Feature {

    @Override
    public boolean configure(final FeatureContext context) {
        // Custom Binders
        context.register(new MyCustomSessionFactoryFactory.Binder());

        // Library Provided Binders
        context.register(new HibernateSessionFactory.Binder());
        context.register(new HibernateServiceRegistryFactory.Binder());

        // Disable search indexing
        // context.register(new FulltextSearchFactoryFactory.Binder());
        // context.register(new FulltextSessionFactory.Binder());
        // context.register(new SearchIndexContextListener.Binder());

        return true;
    }
}

Back to top

Version: 2.1.1.