[Resin-interest] Need help writing a JUnit test to lookup an EJB
I'm using Resin 3.0.19 (Java 1.5), JUnit 4.3, and Maven 1.1 as the build tool (sadly, can't upgrade at this time). I have an EJB running locally and my question is, is there a Resin Maven dependency I can download that will allow me to simulate my container for looking up this EJB? Obviously, when writing JUnit tests, I am not running them in the context of my normal Resin container. Thanks, - Dave -- View this message in context: http://old.nabble.com/Need-help-writing-a-JUnit-test-to-lookup-an-EJB-tp27026632p27026632.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Hessian Debug Exception in Production
We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026698.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Hessian Debug Exception in Production
One more nugget. Here's our configuration in web.xml: log name=com.caucho.hessian.server level=finest path=${host.root}/data/store/logs/hessian.log rollover-period=1W/ -tyson tweihs wrote: We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026699.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Hessian Debug Exception in Production
And a follow up ... We have two webapps in the same host that use hessian. If we disabled logging in both webapps, all is fine. It seems like they are somehow contending for use of the same logging facilities? Only one webapp seemed to be allowed to log at once. tweihs wrote: One more nugget. Here's our configuration in web.xml: log name=com.caucho.hessian.server level=finest path=${host.root}/data/store/logs/hessian.log rollover-period=1W/ -tyson tweihs wrote: We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026702.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] GzipFilter Overrides Cache-Control
Hi Tyson, What's version of resin is this on? thanks Alex Not sure this is a bug with GzipFilter or expected behavior, but found something worth sharing and dropping in the forum record for others to find. We had a problem distributing content to a CDN and keeping it in cache there because the CDN was requesting content with an Accept-Encoding: gzip request header, which was causing our GzipFilter to slap a Cache-Control: private response header via the http response object. Our file servlet (an extension of the default resin file servlet) was adding a Cache-Control header with max-age=84, public that the GzipFilter ended up writing Cache-Control: max-age=84000, public, private. In our testing, we were using curl to test/examine the headers, so we didn't pick up that the private cache control header was being added. Our CDN provider, however, was testing with a user agent that indicated it accepted the gzip encoding and was thus seeing the cache-control header appear. Made for a lively debate. Thus, they were seeing the private declaration and not caching the result. So, we had to add an exclude-pattern to our GzipFilter configuration to not pick up files in the directory we wanted to control caching on. So, fyi, either GzipFilter has a bug in that it is not honoring Cache-Control headers set by responses further downstream, or it is operating properly and you must remember to disable the GzipFilter on content you want to be cached publicly. It would be nice if GzipFilter honored cache-control directives. configuration e.g.: filter-mapping filter-namegzip/filter-name url-pattern exclude-pattern*.zip/exclude-pattern include-pattern/*/include-pattern /url-pattern /filter-mapping -tyson -- View this message in context: http://old.nabble.com/GzipFilter-Overrides-Cache-Control-tp27022353p27022353.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] GzipFilter Overrides Cache-Control
Resin Pro 3.1.9 -tyson On Tue, Jan 5, 2010 at 2:44 PM, Alex a...@caucho.com wrote: Hi Tyson, What's version of resin is this on? thanks Alex Not sure this is a bug with GzipFilter or expected behavior, but found something worth sharing and dropping in the forum record for others to find. We had a problem distributing content to a CDN and keeping it in cache there because the CDN was requesting content with an Accept-Encoding: gzip request header, which was causing our GzipFilter to slap a Cache-Control: private response header via the http response object. Our file servlet (an extension of the default resin file servlet) was adding a Cache-Control header with max-age=84, public that the GzipFilter ended up writing Cache-Control: max-age=84000, public, private. In our testing, we were using curl to test/examine the headers, so we didn't pick up that the private cache control header was being added. Our CDN provider, however, was testing with a user agent that indicated it accepted the gzip encoding and was thus seeing the cache-control header appear. Made for a lively debate. Thus, they were seeing the private declaration and not caching the result. So, we had to add an exclude-pattern to our GzipFilter configuration to not pick up files in the directory we wanted to control caching on. So, fyi, either GzipFilter has a bug in that it is not honoring Cache-Control headers set by responses further downstream, or it is operating properly and you must remember to disable the GzipFilter on content you want to be cached publicly. It would be nice if GzipFilter honored cache-control directives. configuration e.g.: filter-mapping filter-namegzip/filter-name url-pattern exclude-pattern*.zip/exclude-pattern include-pattern/*/include-pattern /url-pattern /filter-mapping -tyson -- View this message in context: http://old.nabble.com/GzipFilter-Overrides-Cache-Control-tp27022353p27022353.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Need help writing a JUnit test to lookup an EJB
I'm using Resin 3.0.19 (Java 1.5), JUnit 4.3, and Maven 1.1 as the build tool (sadly, can't upgrade at this time). I have an EJB running locally and my question is, is there a Resin Maven dependency I can download that will allow me to simulate my container for looking up this EJB? Obviously, when writing JUnit tests, I am not running them in the context of my normal Resin container. I think you may need to instantiate Resin in test's setup method by calling a main(String[] args) with arguments that resin's start–up scripts usually passes in. (try resin.sh -verbose for the list of args), write a servlet that'll do the actual test. The servlet will be need to be called from the test method. version 3.0 is not in maven repositories, so the dependencies will need to be specified using a different maven–valid way. Thanks, alex Thanks, - Dave -- View this message in context: http://old.nabble.com/Need-help-writing-a-JUnit-test-to-lookup-an-EJB-tp27026632p27026632.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Hessian Debug Exception in Production
This looks like a bug (checked 3.1.9). The code on the trunk looks valid – testing instanceof before casting. Thanks, Alex We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026698.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Hessian Debug Exception in Production
Tyson I've reported the bug against 3.1.9: http://bugs.caucho.com/view.php?id=3836 Thanks, Alex This looks like a bug (checked 3.1.9). The code on the trunk looks valid – testing instanceof before casting. Thanks, Alex We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026698.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Hessian Debug Exception in Production
So, grab the 3.1.9 trunk? There was another issue we reported about ScheduledTasks not running until 1 week after the server started (at least when started on Sunday). Know if that one is fixed as well (e.g. 3.1.8 would run scheduled tasks immedately after start, 3.1.9 would start running them a week after start - same app config). -tyson On Tue, Jan 5, 2010 at 2:59 PM, Alex a...@caucho.com wrote: This looks like a bug (checked 3.1.9). The code on the trunk looks valid – testing instanceof before casting. Thanks, Alex We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026698.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] GzipFilter Overrides Cache-Control
Not sure this is a bug with GzipFilter or expected behavior, but found something worth sharing and dropping in the forum record for others to find. We had a problem distributing content to a CDN and keeping it in cache there because the CDN was requesting content with an Accept-Encoding: gzip request header, which was causing our GzipFilter to slap a Cache-Control: private response header via the http response object. Our file servlet (an extension of the default resin file servlet) was adding a Cache-Control header with max-age=84, public that the GzipFilter ended up writing Cache-Control: max-age=84000, public, private. In our testing, we were using curl to test/examine the headers, so we didn't pick up that the private cache control header was being added. Our CDN provider, however, was testing with a user agent that indicated it accepted the gzip encoding and was thus seeing the cache-control header appear. Made for a lively debate. Thus, they were seeing the private declaration and not caching the result. So, we had to add an exclude-pattern to our GzipFilter configuration to not pick up files in the directory we wanted to control caching on. So, fyi, either GzipFilter has a bug in that it is not honoring Cache-Control headers set by responses further downstream, or it is operating properly and you must remember to disable the GzipFilter on content you want to be cached publicly. It would be nice if GzipFilter honored cache-control directives. configuration e.g.: filter-mapping filter-namegzip/filter-name url-pattern exclude-pattern*.zip/exclude-pattern include-pattern/*/include-pattern /url-pattern /filter-mapping The private cache-control is added by Resin Cache in this case(not gzip filter ) following the value set in resin.conf cacherewrite-vary-as-private. It has to do with the IE bug (outlined in more detail at : http://www.caucho.com/resin/doc/cluster-tags.xtp#rewrite-vary-as-private ) -Alex -tyson -- View this message in context: http://old.nabble.com/GzipFilter-Overrides-Cache-Control-tp27022353p27022353.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Hessian Debug Exception in Production
So, grab the 3.1.9 trunk? Actually it's only fixed on the trunk (4.0), the 3.1 branch still has that issue. There was another issue we reported about ScheduledTasks not running until 1 week after the server started (at least when started on Sunday). Know if that one is fixed as well (e.g. 3.1.8 would run scheduled tasks immedately after start, 3.1.9 would start running them a week after start - same app config). This is the one I believe – an open issue: http://bugs.caucho.com/view.php?id=3736 Thanks, Alex -tyson On Tue, Jan 5, 2010 at 2:59 PM, Alex a...@caucho.com wrote: This looks like a bug (checked 3.1.9). The code on the trunk looks valid – testing instanceof before casting. Thanks, Alex We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026698.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Hessian Debug Exception in Production
I know you guys want the base to move to 4, but can we get these two fixed in 3.1.9? It's going to be a while before we upgrade to 4. The hessian issue stopped one of our remote services cold and we'd like to leave debugging in place. The scheduled task issue means we have to patch resin.jar with our own hand-modified ScheduledTask.java. Maybe we have a couple of magic beans to use up under our small allocation of license maintenance (we'll be needing more pro licenses soon anyway)? On Tue, Jan 5, 2010 at 4:04 PM, Alex a...@caucho.com wrote: So, grab the 3.1.9 trunk? Actually it's only fixed on the trunk (4.0), the 3.1 branch still has that issue. There was another issue we reported about ScheduledTasks not running until 1 week after the server started (at least when started on Sunday). Know if that one is fixed as well (e.g. 3.1.8 would run scheduled tasks immedately after start, 3.1.9 would start running them a week after start - same app config). This is the one I believe – an open issue: http://bugs.caucho.com/view.php?id=3736 Thanks, Alex -tyson On Tue, Jan 5, 2010 at 2:59 PM, Alex a...@caucho.com wrote: This looks like a bug (checked 3.1.9). The code on the trunk looks valid – testing instanceof before casting. Thanks, Alex We're seeing two possibly related issues with the Hessian Debug facilities in our production environment. The first is the exception pasted below. The second is that hessian debug will run for a few hours after we restart the web app, then just die. We are running 3.1.19. Any ideas? java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.Integer at com.caucho.hessian.io.HessianDebugState$ObjectState.shift(HessianDebugState.java:1186) at com.caucho.hessian.io.HessianDebugState$DateState.next(HessianDebugState.java:649) at com.caucho.hessian.io.HessianDebugState.next(HessianDebugState.java:93) at com.caucho.hessian.io.HessianDebugOutputStream.write(HessianDebugOutputStream.java:96) at java.io.OutputStream.write(OutputStream.java:99) at com.caucho.hessian.io.Hessian2Output.flushBuffer(Hessian2Output.java:1541) at com.caucho.hessian.io.Hessian2Output.flush(Hessian2Output.java:1522) at com.caucho.hessian.io.Hessian2Output.printString(Hessian2Output.java:1450) at com.caucho.hessian.io.Hessian2Output.writeString(Hessian2Output.java:1060) at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:346) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.CollectionSerializer.writeObject(CollectionSerializer.java:102) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:256) at com.caucho.hessian.io.JavaSerializer.writeInstance(JavaSerializer.java:213) at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:177) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.io.MapSerializer.writeObject(MapSerializer.java:100) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:490) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:199) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:396) at com.caucho.server.dispatch.WebServiceFilterChain.doFilter(WebServiceFilterChain.java:101) at com.caucho.filters.GzipFilter.doFilter(GzipFilter.java:169) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:162) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:619) -- View this message in context: http://old.nabble.com/Hessian-Debug-Exception-in-Production-tp27026698p27026698.html Sent from the Resin mailing list archive at Nabble.com. ___ resin-interest mailing list resin-interest@caucho.com