All solved, I didn't call @server.join after @server.start thanks for your help!
Raph On Fri, Jan 17, 2014 at 2:38 PM, Raphael Bauduin <[email protected]> wrote: > I just found out I can get the JRuby classloader, and I could avoid the > error by using in the webappcontext: > web_context.setClassLoader(JRuby.runtime.jruby_class_loader); > > However, when running the jar, it immediately exits (sucessfully), it > doesn't wait for incoming connections. The very same code works fine when > run in the terminal. Any idea where this could come from? Should I do it > differently when run from a jar? > > Raph > > > On Fri, Jan 17, 2014 at 2:17 PM, Raphael Bauduin <[email protected]>wrote: > >> Thanks for your feedback! >> >> >> I'm building a jar, but I'm initialising the server as this, which uses >> WebAppContext: >> >> @server = Server.new(8080) >> # >> # get external path for resources in jar >> >> [email protected]().getClassLoader().getResource("eu/webtoolkit/jwt/wt-resources").toExternalForm() >> web_context=WebAppContext.new(static_content, '/wt-resources') >> >> context = ServletContextHandler.new(ServletContextHandler::SESSIONS) >> context.addEventListener(ServletInit.new); >> servlet = HelloMain.new() >> holder = ServletHolder.new(servlet) >> context.addServlet(holder, '/') >> >> handler_list= HandlerList.new >> handler_list.setHandlers([web_context,context]) >> @server.setHandler(handler_list); >> >> Is this the correct way to do it? >> >> >> I added the call to >> Server.setDumpAfterStart(true)<http://archive.eclipse.org/jetty/8.1.9.v20130131/apidocs/org/eclipse/jetty/server/Server.html#setDumpAfterStart%28boolean%29>, >> and pasted the output at http://pastie.org/8642199 >> I think I could use a hint as to what the problem could be.... >> >> thanks >> >> raph >> >> >> >> On Thu, Jan 16, 2014 at 2:00 PM, Joakim Erdfelt <[email protected]>wrote: >> >>> Your linked Paste has no mention of IntrospectionCleaner ? >>> >>> Anyway, it seems that the InspectionCleaner is not being found. >>> Note, your stacktrace contains a WebAppClassLoader, which is the webapp >>> isolation classloader, that IntrospectionCleaner class might be filtered or >>> isolated away from being found because of it. >>> The existence of the StandardDescriptorProcessor also means you are >>> deploying a standard WAR/WebApp, so that might definitely be the case. >>> >>> If you can control the Server instance in your JRuby startup, try adding >>> a call to >>> Server.setDumpAfterStart(true)<http://archive.eclipse.org/jetty/8.1.9.v20130131/apidocs/org/eclipse/jetty/server/Server.html#setDumpAfterStart(boolean)>before >>> the server is started, that will show you what is in the >>> classloaders at the server side and at the webapp side, it should help you >>> figure out what is going on. >>> >>> -- >>> Joakim Erdfelt <[email protected]> >>> webtide.com <http://www.webtide.com/> - intalio.com/jetty >>> Expert advice, services and support from from the Jetty & CometD experts >>> eclipse.org/jetty - cometd.org >>> >>> >>> On Tue, Jan 14, 2014 at 1:39 AM, Raphael Bauduin <[email protected]>wrote: >>> >>>> Hi, >>>> >>>> I've developped a JRuby app that starts a Jetty server. The application >>>> runs fine from the console, but when I package it as a jar, I get errors >>>> about unfound classes org.eclipse.jetty.servlet.listener.ELContextCleaner >>>> and org.eclipse.jetty.servlet.listener.IntrospectorCleaner: >>>> >>>> >>>> 2754 [main] WARN org.eclipse.jetty.webapp.StandardDescriptorProcessor - >>>> Could not instantiate listener >>>> org.eclipse.jetty.servlet.listener.IntrospectorCleaner >>>> java.lang.ClassNotFoundException: >>>> org.eclipse.jetty.servlet.listener.IntrospectorCleaner >>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366) >>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:423) >>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:356) >>>> at >>>> org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:430) >>>> at >>>> org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) >>>> at >>>> org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1517) >>>> at >>>> org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1864) >>>> >>>> The full error message is available at http://pastie.org/8629602 >>>> >>>> The jetty-all-8.1.9 jar file is included in the built jar, and I see >>>> those two classes in there. >>>> I can also load the classes in the JRuby code. >>>> The jar is packaged with warbler, and the code of the main class of the >>>> jar is https://github.com/jruby/warbler/blob/master/ext/JarMain.java >>>> >>>> >>>> Is there a way to make jetty find these too? >>>> >>>> Thx in advance >>>> >>>> Raph >>>> >>>> PS: I asked on the JRuby mailing list, but it seems the setup is ok on >>>> the Jruby side. here's the discussion: >>>> https://www.ruby-forum.com/topic/4419936 >>>> >>>> _______________________________________________ >>>> jetty-users mailing list >>>> [email protected] >>>> https://dev.eclipse.org/mailman/listinfo/jetty-users >>>> >>>> >>> >>> _______________________________________________ >>> jetty-users mailing list >>> [email protected] >>> https://dev.eclipse.org/mailman/listinfo/jetty-users >>> >>> >> >> >> -- >> Web database: http://www.myowndb.com >> Free Software Developers Meeting: http://www.fosdem.org >> > > > > -- > Web database: http://www.myowndb.com > Free Software Developers Meeting: http://www.fosdem.org > -- Web database: http://www.myowndb.com Free Software Developers Meeting: http://www.fosdem.org
_______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
