Viktor, et al, Well, i've scoped things down to just running the Jersey helloworld-webapp sample in jetty with Jersey as the ServletContainer, rather than a Filter. Even that is displaying the same behavior where the server is eating the requests, but it's not hitting the resource class get method. Frankly, i can't see a substantive difference between their sample and the one i've got -- apart from swapping out glassfish for jetty.
Best wishes, --greg On Tue, Mar 3, 2009 at 7:50 AM, Meredith Gregory <[email protected]>wrote: > Viktor, > > The combined servlet is eating http requests, but it's not processing them > correctly. i'm still not sure about all the Jersey path stuff. i'm the > process of debugging. > > Best wishes, > > --greg > > > On Tue, Mar 3, 2009 at 7:04 AM, Viktor Klang <[email protected]>wrote: > >> Greg, >> >> Great, then it was just me finding the wrong API docs online :) >> >> >> But the real question is: Does it work? :) >> >> >> Cheers, >> Viktor >> >> >> On Tue, Mar 3, 2009 at 4:00 PM, Meredith Gregory < >> [email protected]> wrote: >> >>> Viktor, >>> >>> Thanks. Jersey-1.0.2 *does* implement Filter. You can see that in the >>> sources jar and if you include it in a scala/lift project and reflect it >>> does the right thing. >>> >>> Best wishes, >>> >>> --greg >>> >>> On Tue, Mar 3, 2009 at 1:46 AM, Viktor Klang <[email protected]>wrote: >>> >>>> Unfortunately, >>>> >>>> >>>> https://jersey.dev.java.net/source/browse/*checkout*/jersey/tags/jersey-1.0.1/api/jersey/index.html >>>> >>>> says: >>>> >>>> public class *ServletContainer*extends >>>> javax.servlet.http.HttpServletimplements ContainerListener >>>> <https://jersey.dev.java.net/source/browse/*checkout*/jersey/tags/jersey-1.0.1/api/jersey/com/sun/jersey/spi/container/ContainerListener.html> >>>> >>>> >>>> >>>> which means that the ServletContainer is not implementing the >>>> javax.servlet.Filter >>>> >>>> >>>> This is just an idea, and I do not know if it will work, but you could >>>> try something like this, and map it as a filter: >>>> >>>> Java: (Feel free to rewrite as Scala :) ) >>>> >>>> public class JerseyFilter extends ServletContainer implements Filter >>>> { >>>> @Override >>>> public void doFilter(ServletRequest req, ServletResponse res, >>>> FilterChain fChain) >>>> throws IOException, ServletException >>>> { >>>> service(req,res); >>>> fChain.doFilter(req, res); >>>> } >>>> >>>> @Override >>>> public void init(FilterConfig fConfig) throws ServletException >>>> { >>>> super.init(); >>>> } >>>> >>>> @Override >>>> public void destroy() >>>> { >>>> super.destroy(); >>>> } >>>> } >>>> >>>> Please get back to us :) >>>> >>>> Cheers, >>>> Viktor >>>> >>>> >>>> >>>> On Tue, Mar 3, 2009 at 3:32 AM, Meredith Gregory < >>>> [email protected]> wrote: >>>> >>>>> Lifted, >>>>> >>>>> Well, at least i've got jetty launching and running with both filters. >>>>> See the web.xml that worked below. >>>>> >>>>> Best wishes, >>>>> >>>>> --greg >>>>> >>>>> <?xml version="1.0" encoding="ISO-8859-1"?> >>>>> >>>>> <!DOCTYPE web-app >>>>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" >>>>> "http://java.sun.com/dtd/web-app_2_3.dtd"> >>>>> >>>>> <web-app> >>>>> <filter> >>>>> <filter-name>JerseyFilter</filter-name> >>>>> <display-name>Jersey Filter</display-name> >>>>> <description>Attempting to use Jersey as a Filter</description> >>>>> >>>>> <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class> >>>>> <init-param> >>>>> <param-name>com.sun.jersey.config.property.packages</param-name> >>>>> >>>>> <param-value>com.sap.dspace.model.constellation.resources</param-value> >>>>> </init-param> >>>>> </filter> >>>>> <filter> >>>>> <filter-name>LiftFilter</filter-name> >>>>> <display-name>Lift Filter</display-name> >>>>> <description>The Filter that intercepts lift calls</description> >>>>> <filter-class>net.liftweb.http.LiftFilter</filter-class> >>>>> </filter> >>>>> >>>>> <filter-mapping> >>>>> <filter-name>JerseyFilter</filter-name> >>>>> <url-pattern>/*</url-pattern> >>>>> </filter-mapping> >>>>> <filter-mapping> >>>>> <filter-name>LiftFilter</filter-name> >>>>> <url-pattern>/*</url-pattern> >>>>> </filter-mapping> >>>>> >>>>> </web-app> >>>>> >>>>> >>>>> On Mon, Mar 2, 2009 at 6:25 PM, Meredith Gregory < >>>>> [email protected]> wrote: >>>>> >>>>>> Alex, >>>>>> >>>>>> Thanks for all your help. i switched versions in the pom.xml (to 1.0.2 >>>>>> which is the most recent on the sun repo that is not labeled SNAPSHOT) >>>>>> and i >>>>>> get the right values from reflecting (BTW -- has anybody written a little >>>>>> lift browser app that hooks into reflection so that one can graphically >>>>>> browse the class/instances in memory?). Now i just need to figure out >>>>>> how to >>>>>> pass the resources context to Jersey. It's got a config for the >>>>>> ServletContainer class, but i don't see anything if i'm just using it as >>>>>> a >>>>>> filter. >>>>>> >>>>>> Best wishes, >>>>>> >>>>>> --greg >>>>>> >>>>>> On Mon, Mar 2, 2009 at 6:13 PM, Alex Boisvert >>>>>> <[email protected]>wrote: >>>>>> >>>>>>> No, sorry, I've grown allergic to mvn. >>>>>>> >>>>>>> If you must know, I wrote a 5-line ruby script that bootstraps the >>>>>>> scala interpreter with a given classpath. >>>>>>> >>>>>>> #!/usr/bin/env scalarun >>>>>>> classpath << artifact("com.sun.jersey:jersey-server:jar:1.02") >>>>>>> classpath << artifact("javax.servlet:servlet-api:jar:2.5") >>>>>>> classpath << artifact("javax.ws.rs:jsr311-api:jar:1.0") >>>>>>> interactive = true >>>>>>> !# >>>>>>> >>>>>>> So we're down to two main possibilities... 1) something is wrong with >>>>>>> your Maven pom.xml or 2) your local artifacts are inconsistent with >>>>>>> what's >>>>>>> in the repos. >>>>>>> >>>>>>> alex >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Mar 2, 2009 at 6:05 PM, Meredith Gregory < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Alex, >>>>>>>> >>>>>>>> Interesting. Did you build with mvn? If so, what were your >>>>>>>> plugins/dependencies? >>>>>>>> >>>>>>>> Best wishes, >>>>>>>> >>>>>>>> --greg >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Mar 2, 2009 at 6:01 PM, Alex Boisvert <[email protected] >>>>>>>> > wrote: >>>>>>>> >>>>>>>>> Greg, >>>>>>>>> >>>>>>>>> Something must be messed up in your configuration.... Here's what I >>>>>>>>> get: >>>>>>>>> >>>>>>>>> Welcome to Scala version 2.7.3.final (Java HotSpot(TM) Server VM, >>>>>>>>> Java 1.6.0_10). >>>>>>>>> Type in expressions to have them evaluated. >>>>>>>>> Type :help for more information. >>>>>>>>> >>>>>>>>> scala> new com.sun.jersey.spi.container.servlet.ServletContainer() >>>>>>>>> res0: com.sun.jersey.spi.container.servlet.ServletContainer = >>>>>>>>> com.sun.jersey.spi.container.servlet.servletcontai...@15cd9a >>>>>>>>> >>>>>>>>> scala> res0.getClass.getInterfaces >>>>>>>>> res2: Array[java.lang.Class[_]] = Array(interface >>>>>>>>> javax.servlet.Servlet, interface javax.servlet.ServletConfig, >>>>>>>>> interface >>>>>>>>> javax.servlet.Filter, interface java.io.Serializable) >>>>>>>>> >>>>>>>>> (I'm using jersey-server-1.0.2.jar) >>>>>>>>> >>>>>>>>> alex >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Mar 2, 2009 at 5:47 PM, Meredith Gregory < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Alex, >>>>>>>>>> >>>>>>>>>> i was coming to the same conclusion. OTOH, reflecting on >>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer i see >>>>>>>>>> different stuff >>>>>>>>>> than what's declared in the sources. See below. >>>>>>>>>> >>>>>>>>>> Best wishes, >>>>>>>>>> >>>>>>>>>> --greg >>>>>>>>>> >>>>>>>>>> scala> new com.sun.jersey.spi.container.servlet.ServletContainer() >>>>>>>>>> new com.sun.jersey.spi.container.servlet.ServletContainer() >>>>>>>>>> new com.sun.jersey.spi.container.servlet.ServletContainer() >>>>>>>>>> res0: com.sun.jersey.spi.container.servlet.ServletContainer = >>>>>>>>>> com.sun.jersey.spi.container.servlet.servletcontai...@50b410 >>>>>>>>>> >>>>>>>>>> scala> res0.getClass >>>>>>>>>> res0.getClass >>>>>>>>>> res0.getClass >>>>>>>>>> res1: java.lang.Class[_ <: java.lang.Object] = class >>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer >>>>>>>>>> >>>>>>>>>> scala> res0.getClass.getSuperclass >>>>>>>>>> res0.getClass.getSuperclass >>>>>>>>>> res0.getClass.getSuperclass >>>>>>>>>> res7: java.lang.Class[_ >: ?0] = class >>>>>>>>>> javax.servlet.http.HttpServlet >>>>>>>>>> >>>>>>>>>> // i was expecting to see WebComponent here >>>>>>>>>> >>>>>>>>>> scala> res0.getClass.getInterfaces >>>>>>>>>> res0.getClass.getInterfaces >>>>>>>>>> res0.getClass.getInterfaces >>>>>>>>>> res8: Array[java.lang.Class[_]] = Array(interface >>>>>>>>>> com.sun.jersey.spi.container.ContainerListener) >>>>>>>>>> >>>>>>>>>> // i was expecting to see Servlet, ServletConfig, Filter, >>>>>>>>>> Serializable in this list. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Mar 2, 2009 at 5:13 PM, Alex Boisvert < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> My guess would be that you have duplicate servlet-api-2.x.jar in >>>>>>>>>>> your classloading hierarchy... can you check and remove any >>>>>>>>>>> servlet.jar >>>>>>>>>>> under your webapp WEB-INF/lib directory? >>>>>>>>>>> >>>>>>>>>>> alex >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Mar 2, 2009 at 4:45 PM, Meredith Gregory < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Alex, >>>>>>>>>>>> >>>>>>>>>>>> Thanks for the interest. See below. >>>>>>>>>>>> >>>>>>>>>>>> Best wishes, >>>>>>>>>>>> >>>>>>>>>>>> --greg >>>>>>>>>>>> >>>>>>>>>>>> <?xml version="1.0" encoding="ISO-8859-1"?> >>>>>>>>>>>> >>>>>>>>>>>> <!DOCTYPE web-app >>>>>>>>>>>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" >>>>>>>>>>>> "http://java.sun.com/dtd/web-app_2_3.dtd"> >>>>>>>>>>>> >>>>>>>>>>>> <web-app> >>>>>>>>>>>> <filter> >>>>>>>>>>>> <filter-name>JerseyFilter</filter-name> >>>>>>>>>>>> <display-name>Jersey Filter</display-name> >>>>>>>>>>>> <description>Attempting to use Jersey as a >>>>>>>>>>>> Filter</description> >>>>>>>>>>>> >>>>>>>>>>>> <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class> >>>>>>>>>>>> </filter> >>>>>>>>>>>> <filter> >>>>>>>>>>>> <filter-name>LiftFilter</filter-name> >>>>>>>>>>>> <display-name>Lift Filter</display-name> >>>>>>>>>>>> <description>The Filter that intercepts lift >>>>>>>>>>>> calls</description> >>>>>>>>>>>> <filter-class>net.liftweb.http.LiftFilter</filter-class> >>>>>>>>>>>> </filter> >>>>>>>>>>>> >>>>>>>>>>>> <filter-mapping> >>>>>>>>>>>> <filter-name>JerseyFilter</filter-name> >>>>>>>>>>>> <url-pattern>/*</url-pattern> >>>>>>>>>>>> </filter-mapping> >>>>>>>>>>>> <filter-mapping> >>>>>>>>>>>> <filter-name>LiftFilter</filter-name> >>>>>>>>>>>> <url-pattern>/*</url-pattern> >>>>>>>>>>>> </filter-mapping> >>>>>>>>>>>> >>>>>>>>>>>> </web-app> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Mar 2, 2009 at 4:43 PM, Alex Boisvert < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Can you post your web.xml? >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, Mar 2, 2009 at 3:50 PM, Meredith Gregory < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Marc, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks for the link! BTW, i'm looking at that sources from the >>>>>>>>>>>>>> Jersey jar and it appears that >>>>>>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer implements >>>>>>>>>>>>>> Filter. And >>>>>>>>>>>>>> yet, when i launch with jetty i get: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2009-03-02 15:46:18.043::WARN: failed JerseyFilter >>>>>>>>>>>>>> java.lang.IllegalStateException: class >>>>>>>>>>>>>> com.sun.jersey.spi.container.servlet.ServletContainer is not a >>>>>>>>>>>>>> javax.servlet.Filter >>>>>>>>>>>>>> at >>>>>>>>>>>>>> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:88) >>>>>>>>>>>>>> >>>>>>>>>>>>>> Best wishes, >>>>>>>>>>>>>> >>>>>>>>>>>>>> --greg >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Mon, Mar 2, 2009 at 2:16 PM, Marc Hadley < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Apache Camel uses Jersey as a filter: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> https://svn.apache.org/repos/asf/camel/trunk/components/camel-web/src/main/webapp/WEB-INF/web.xml >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Marc. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Mar 2, 2009, at 4:46 PM, Meredith Gregory wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Jerseyans, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Does anyone have any experience with using Jersey as a >>>>>>>>>>>>>>>> filter? i'd like to take advantage of some of Jersey's >>>>>>>>>>>>>>>> Request/Response >>>>>>>>>>>>>>>> rendering as well as some of Lift's cool stuff. The Lift >>>>>>>>>>>>>>>> servlet is a filter >>>>>>>>>>>>>>>> and deployed as such. i note that the >>>>>>>>>>>>>>>> com/sun/jersey/spi/container/servlet/ServletContainer >>>>>>>>>>>>>>>> implements Filter. >>>>>>>>>>>>>>>> However, i have yet to find an example of Jersey deployed in a >>>>>>>>>>>>>>>> filter >>>>>>>>>>>>>>>> capacity. If anyone has used Jersey this way, please let me >>>>>>>>>>>>>>>> know. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Best wishes, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> --greg >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> L.G. Meredith >>>>>>>>>>>>>>>> Managing Partner >>>>>>>>>>>>>>>> Biosimilarity LLC >>>>>>>>>>>>>>>> 806 55th St NE >>>>>>>>>>>>>>>> Seattle, WA 98105 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> +1 206.650.3740 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> http://biosimilarity.blogspot.com >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>>>>>> To unsubscribe, e-mail: >>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>> For additional commands, e-mail: >>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> L.G. Meredith >>>>>>>>>>>>>> Managing Partner >>>>>>>>>>>>>> Biosimilarity LLC >>>>>>>>>>>>>> 806 55th St NE >>>>>>>>>>>>>> Seattle, WA 98105 >>>>>>>>>>>>>> >>>>>>>>>>>>>> +1 206.650.3740 >>>>>>>>>>>>>> >>>>>>>>>>>>>> http://biosimilarity.blogspot.com >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> L.G. Meredith >>>>>>>>>>>> Managing Partner >>>>>>>>>>>> Biosimilarity LLC >>>>>>>>>>>> 806 55th St NE >>>>>>>>>>>> Seattle, WA 98105 >>>>>>>>>>>> >>>>>>>>>>>> +1 206.650.3740 >>>>>>>>>>>> >>>>>>>>>>>> http://biosimilarity.blogspot.com >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> L.G. Meredith >>>>>>>>>> Managing Partner >>>>>>>>>> Biosimilarity LLC >>>>>>>>>> 806 55th St NE >>>>>>>>>> Seattle, WA 98105 >>>>>>>>>> >>>>>>>>>> +1 206.650.3740 >>>>>>>>>> >>>>>>>>>> http://biosimilarity.blogspot.com >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> L.G. Meredith >>>>>>>> Managing Partner >>>>>>>> Biosimilarity LLC >>>>>>>> 806 55th St NE >>>>>>>> Seattle, WA 98105 >>>>>>>> >>>>>>>> +1 206.650.3740 >>>>>>>> >>>>>>>> http://biosimilarity.blogspot.com >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> L.G. Meredith >>>>>> Managing Partner >>>>>> Biosimilarity LLC >>>>>> 806 55th St NE >>>>>> Seattle, WA 98105 >>>>>> >>>>>> +1 206.650.3740 >>>>>> >>>>>> http://biosimilarity.blogspot.com >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> L.G. Meredith >>>>> Managing Partner >>>>> Biosimilarity LLC >>>>> 806 55th St NE >>>>> Seattle, WA 98105 >>>>> >>>>> +1 206.650.3740 >>>>> >>>>> http://biosimilarity.blogspot.com >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Viktor Klang >>>> Senior Systems Analyst >>>> >>>> >>>> >>>> >>> >>> >>> -- >>> L.G. Meredith >>> Managing Partner >>> Biosimilarity LLC >>> 806 55th St NE >>> Seattle, WA 98105 >>> >>> +1 206.650.3740 >>> >>> http://biosimilarity.blogspot.com >>> >>> >>> >> >> >> -- >> Viktor Klang >> Senior Systems Analyst >> >> >> >> > > > -- > L.G. Meredith > Managing Partner > Biosimilarity LLC > 806 55th St NE > Seattle, WA 98105 > > +1 206.650.3740 > > http://biosimilarity.blogspot.com > -- L.G. Meredith Managing Partner Biosimilarity LLC 806 55th St NE Seattle, WA 98105 +1 206.650.3740 http://biosimilarity.blogspot.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---
