From: Jamie J. <je...@gm...> - 2009-05-28 16:52:11
|
Fixed the NPE, issue was the isPrivate variable wasn't set. So now that this is working I see a Cache-Control header object in the HTTP Headers, is there a way to make this work with something like apache http 2.2 with mod_cache or is this designed to only work with JBoss cache? On Thu, May 28, 2009 at 12:16 PM, Jamie Johnson <je...@gm...> wrote: > I just stumbled on to > http://www.jboss.org/file-access/default/members/resteasy/freezone/docs/1.1-RC1/userguide/html/Cache_NoCache_CacheControl.html > > If I annotate my class with the @Cache annotation I get a Null pointer > exception (stack trace below). I had assumed (and possibly incorrectly) > that specifying @Cache would only build a cache control header, do I need to > setup anything else for this to work, specifically the local server side > response cache? > > > > 2009-05-28 12:12:36,344 ERROR > [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/resteasy-jaxrs]] > Exception sending context initialized event to listener instance of class > org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap > java.lang.NullPointerException > at > org.jboss.resteasy.core.ResourceMethodCacheControlInterceptor.initCacheControl(ResourceMethodCacheControlInterceptor.java:56) > at > org.jboss.resteasy.core.ResourceMethodCacheControlInterceptor.accepted(ResourceMethodCacheControlInterceptor.java:41) > at > org.jboss.resteasy.core.interception.InterceptorRegistry.bind(InterceptorRegistry.java:60) > at > org.jboss.resteasy.core.ResourceMethod.<init>(ResourceMethod.java:94) > at > org.jboss.resteasy.core.ResourceMethodRegistry.processMethod(ResourceMethodRegistry.java:179) > at > org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:124) > at > org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:107) > at > org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:84) > at > org.jboss.resteasy.core.ResourceMethodRegistry.addPerRequestResource(ResourceMethodRegistry.java:73) > at > org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.processResource(ResteasyBootstrap.java:332) > at > org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.processResources(ResteasyBootstrap.java:313) > at > org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.contextInitialized(ResteasyBootstrap.java:138) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4361) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296) > at > org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at > org.apache.catalina.core.StandardContext.init(StandardContext.java:5312) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296) > at > org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at > org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301) > at > org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104) > at > org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375) > at org.jboss.web.WebModule.startModule(WebModule.java:83) > at org.jboss.web.WebModule.startService(WebModule.java:61) > at > org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) > at > org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) > at > org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) > at $Proxy0.start(Unknown Source) > at org.jboss.system.ServiceController.start(ServiceController.java:417) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) > at > org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) > at $Proxy44.start(Unknown Source) > at > org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) > at > org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) > at > org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) > at > org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97) > at > org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238) > at > org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87) > at > org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188) > at > org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) > at > org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) > at $Proxy45.start(Unknown Source) > at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) > at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) > at > org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) > at > org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) > at > org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) > at $Proxy9.deploy(Unknown Source) > at > org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421) > at > org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634) > at > org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263) > at > org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336) > at > org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) > at > org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) > at > org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) > at $Proxy0.start(Unknown Source) > at org.jboss.system.ServiceController.start(ServiceController.java:417) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) > at > org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) > at $Proxy4.start(Unknown Source) > at org.jboss.deployment.SARDeployer.start(SARDeployer.java:304) > at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) > at > org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) > at > org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) > at > org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) > at $Proxy5.deploy(Unknown Source) > at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482) > at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362) > at org.jboss.Main.boot(Main.java:200) > at org.jboss.Main$1.run(Main.java:508) > at java.lang.Thread.run(Thread.java:619) > > > On Thu, May 28, 2009 at 12:01 PM, Jamie Johnson <je...@gm...> wrote: > >> I am looking into using Apache HTTPD server with the caching and proxy >> enabled and wanted to know if there was a way in RestEasy to set the expires >> header value on responses to allow documents to be cached? >> > > |