killbill-memoizeit

Details

diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/JaxrsUriBuilder.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/JaxrsUriBuilder.java
index c63c399..97d4c1e 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/JaxrsUriBuilder.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/JaxrsUriBuilder.java
@@ -66,15 +66,12 @@ public class JaxrsUriBuilder {
         tmp.append(UriBuilder.fromResource(theClass).path(theClass, getMethodName).build(objectId).toString());
         final URI newUriFromResource = UriBuilder.fromUri(tmp.toString()).build();
         final Response.ResponseBuilder ri = Response.created(newUriFromResource);
-
-        final ProfilingData profilingData = Profiling.getPerThreadProfilingData();
-        final Object obj = profilingData == null ? new Object() {
+        final Object obj = new Object() {
             @SuppressWarnings(value = "all")
             public URI getUri() {
                 return newUriFromResource;
             }
-        } : new ProfilingDataJson(profilingData);
-
+        };
         return ri.entity(obj).build();
     }
 }
diff --git a/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/KillbillGuiceListener.java b/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/KillbillGuiceListener.java
index af7cd3a..43f9c56 100644
--- a/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/KillbillGuiceListener.java
+++ b/profiles/killbill/src/main/java/org/killbill/billing/server/listeners/KillbillGuiceListener.java
@@ -21,11 +21,11 @@ package org.killbill.billing.server.listeners;
 import javax.servlet.ServletContext;
 
 import org.killbill.billing.jaxrs.resources.JaxRsResourceBase;
+import org.killbill.billing.server.filters.ProfilingContainerResponseFilter;
 import org.killbill.billing.jaxrs.util.KillbillEventHandler;
 import org.killbill.billing.platform.api.KillbillConfigSource;
 import org.killbill.billing.platform.config.DefaultKillbillConfigSource;
 import org.killbill.billing.server.modules.KillbillServerModule;
-import org.killbill.billing.server.profiling.ProfilingFilter;
 import org.killbill.billing.server.security.TenantFilter;
 import org.killbill.bus.api.PersistentBus;
 import org.killbill.commons.skeleton.modules.BaseServerModuleBuilder;
@@ -49,8 +49,15 @@ public class KillbillGuiceListener extends KillbillPlatformGuiceListener {
         final BaseServerModuleBuilder builder = new BaseServerModuleBuilder().setJaxrsUriPattern("(" + JaxRsResourceBase.PREFIX + "|" + JaxRsResourceBase.PLUGINS_PATH + ")" + "/.*")
                                                                              .addJaxrsResource("org.killbill.billing.jaxrs.mappers")
                                                                              .addJaxrsResource("org.killbill.billing.jaxrs.resources");
-        // Add profiling filter first
-        builder.addFilter("/*", ProfilingFilter.class);
+
+        //
+        // Add jersey filters which are executed prior jersey write the output stream
+        //
+        builder.addJerseyFilter("com.sun.jersey.api.container.filter.LoggingFilter");
+
+        // The logging filter is still incompatible with the GZIP filter
+        //builder.addJerseyFilter(GZIPContentEncodingFilter.class.getName());
+        builder.addJerseyFilter(ProfilingContainerResponseFilter.class.getName());
 
         // Add TenantFilter right after is multi-tenancy has been configured.
         if (config.isMultiTenancyEnabled()) {
diff --git a/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java b/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
index 8ff2d63..42c7487 100644
--- a/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
+++ b/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
@@ -36,6 +36,7 @@ import org.killbill.billing.jaxrs.resources.InvoiceResource;
 import org.killbill.billing.jaxrs.resources.PaymentMethodResource;
 import org.killbill.billing.jaxrs.resources.PaymentResource;
 import org.killbill.billing.jaxrs.resources.PluginResource;
+import org.killbill.billing.server.filters.ProfilingContainerResponseFilter;
 import org.killbill.billing.jaxrs.resources.SubscriptionResource;
 import org.killbill.billing.jaxrs.resources.TagDefinitionResource;
 import org.killbill.billing.jaxrs.resources.TagResource;