package org.deephacks.westty.internal.jaxrs; import org.codehaus.jackson.map.DeserializationConfig; import org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider; import org.jboss.resteasy.spi.ResteasyDeployment; import org.jboss.resteasy.spi.ResteasyProviderFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.inject.Inject; import javax.inject.Singleton; @Singleton class ResteasyBootstrap { private static final Logger log = LoggerFactory.getLogger(ResteasyBootstrap.class); private final ResteasyDeployment deployment = new ResteasyDeployment(); @Inject public ResteasyBootstrap(JaxrsApplication jaxrsApps) { deployment.setApplication(jaxrsApps); ResteasyJacksonProvider provider = new ResteasyJacksonProvider(); provider.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); ResteasyProviderFactory resteasyFactory = ResteasyProviderFactory.getInstance(); resteasyFactory.registerProviderInstance(provider); deployment.setProviderFactory(resteasyFactory); deployment.start(); log.info("RestEasy started."); } public void stop() { deployment.stop(); } }