geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Bartel <j...@mortbay.com>
Subject Re: Startup Warning related to running Tomcat Examples on Jetty
Date Mon, 05 Dec 2005 23:30:09 GMT
Dave,

Strange, I tried the war in standalone Jetty and there are no 
deployment errors and it seems to work fine. I can only assume
that we're not catching some error, I will have a further look
at that.

Anyway, I assume the "invoker" servlet being referred to would
be the invoker servlet that is normally configured in jetty's
webdefault.xml file (and is by default commented out):

  <servlet>
    <servlet-name>invoker</servlet-name>
    <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class>
    <init-param>
      <param-name>verbose</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>nonContextServlets</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>dynamicParam</param-name>
      <param-value>anyValue</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>

  <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

To run the tomcat servlet examples Geronimo needs to do the same kind of GBean
exposure for the JettyWebModuleDeployer as is done for the DefaultServlet. I
think that should just be a matter of adding the following lines to the 
j2ee-jetty-runtime-deployer-plan.xml :

    <gbean name="InvokerServlet" class="org.apache.geronimo.jetty.JettyServletHolder">
        <attribute name="servletName">invoker</attribute>
        <attribute name="servletClass">org.mortbay.jetty.servlet.Invoker</attribute>
        <attribute name="loadOnStartup">0</attribute>
        <attribute name="initParams">
 verbose=false
 nonContextServlets=false
 dynamicParam=anyValue
        </attribute>
        <attribute name="servletMappings">/servlet/*</attribute>
    </gbean>




regards
Jan


Dave Colasurdo wrote:
> The web.xml contains the following:
> 
>     <filter-mapping>
>         <filter-name>Servlet Mapped Filter</filter-name>
>     <servlet-name>invoker</servlet-name>
>     </filter-mapping>
> 
> 
> Concerning invoker:
> "The invoker is a dynamic servlet which allows run-time loading of other 
> servlets based on class name. This servlet is the one that allows 
> http://localhost/servlet/com.foo.MyClass?more=cowbell, where 
> com.foo.MyClass is some class which can be loaded as a servlet but was 
> never explicitly declared in a config file."
> 
> After removing the offending xml from web.xml it still seems to work 
> fine for both Jetty and Tomcat.
> 
> So there are a few options here:
> 
> 1) Crack open geronimo-servlet-examples-tomcat-5.5.12.war in ibiblio and 
> remove the invoker reference.
> If we do this we should also remove the following reference from the 
> jsp-examples main page: "These examples will only work when these pages 
> are being served by a servlet engine; of course, we recommend Tomcat"
> 
> We can do this ourselves or ask Tomcat to do it..
> 
> 2) Only make the example(s) available on Tomcat distributions.
> 
> 3) Install on Jetty and live with the "WARNING: Some GBeans were not 
> started successfully:" Or find a way to ignore and/or suppress the WARNING.
> 
> 4) Figure out a way to leverage the invoker servlet in Jetty.  It seems 
> they do have one.  Is the web.xml syntax different?
> 
> Thanks
> -Dave-
> 
> David Jencks wrote:
> 
>> There's already a jira to point out that the jetty builder doesn't  
>> check referential integrity of web.xml.  Could you check that the  
>> web.xml is actually consistent?
>>
>> thanks
>> david jencks
>>
>> On Dec 5, 2005, at 10:42 AM, Aaron Mulder wrote:
>>
>>> If there is no servlet name=invoker in the debug tool, then it seems
>>> like during WAR deployment we've constructed a GBean that depends on
>>> another GBean that doesn't exist, and I think you should definitely
>>> create a JIRA for that!
>>>
>>> Aaron
>>>
>>> On 12/5/05, Dave Colasurdo 
>>> <davecola-ihVZJaRskl1bRRN4PJnoQQ@public.gmane.org> wrote:
>>>
>>>> Aaron Mulder wrote:
>>>>
>>>>> The problem appears to be caused by:
>>>>>
>>>>> 09:24:21,347 DEBUG [GBeanSingleReference] Waiting to start
>>>>> geronimo.server: 
>>>>> J2EEApplication=null,J2EEServer=geronimo,Servlet=invoker,WebFilter=Se

>>>>> rvlet
>>>>> Mapped  
>>>>> Filter,WebModule=geronimo/servlets-examples-jetty/1.0-SNAPSHOT/ 
>>>>> car,j2eeType=WebFilterMapping
>>>>>
>>>>> because no targets are running for reference Servlet matching the  
>>>>> patterns:
>>>>> geronimo.server: 
>>>>> J2EEApplication=null,J2EEServer=geronimo,WebModule=geronimo/ 
>>>>> servlets-examples-jetty/1.0-SNAPSHOT/ 
>>>>> car,j2eeType=Servlet,name=invoker
>>>>>
>>>>> Can you look in the debug tool after it's running and check for
>>>>> "name=invoker" to see whether the GBean reference name is just a
>>>>> little off or something?
>>>>>
>>>>
>>>> I only see the following in the debug-tool..
>>>>
>>>> J2EEApplication=null,J2EEServer=geronimo,Servlet=invoker,WebFilter=Ser 
>>>> vletMappedFilter,WebModule=geronimo/servlets-examples-jetty/1.0- 
>>>> SNAPSHOT/car,j2eeType=WebFilterMapping[starting]
>>>>
>>>> J2EEApplication=null,J2EEServer=geronimo,URLPattern="/servlet/ 
>>>> \*",WebFilter=PathMappedFilter,WebModule=geronimo/servlets-examples- 
>>>> jetty/1.0-SNAPSHOT/car,j2eeType=WebFilterMapping[starting]
>>>>
>>>>
>>>> ObjectName:
>>>> geronimo.server: 
>>>> J2EEApplication=null,J2EEServer=geronimo,Servlet=invoker,WebFilter=Ser 
>>>> vletMappedFilter,WebModule=geronimo/servlets-examples-jetty/1.0- 
>>>> SNAPSHOT/car,j2eeType=WebFilterMapping
>>>>
>>>> ClassName:  org.apache.geronimo.jetty.JettyFilterMapping
>>>> State:  starting
>>>>
>>>> Attributes
>>>> Name Value
>>>> errorDispatch false
>>>> forwardDispatch false
>>>> includeDispatch false
>>>> requestDispatch true
>>>> urlPattern (null)
>>>>
>>>> This can be easily recreated on Jetty by applying GERONIMO-1258 (since
>>>> it predeploys the apps).. Or alternately by installing the war  
>>>> directly
>>>> from the ibiblio repo (link provided in earlier post)..
>>>>
>>>> The same application runs fine on Tomcat.  Do you suspect an error in
>>>> the Geronimo code or in the application itself?  Do I need to open 
>>>> a  JIRA?
>>>>
>>>>
>>>>
>>>>> In any case, this is a real error, as I think it means some of the
>>>>> servlet filters for the application were not started.  I wonder 
>>>>> why  we
>>>>> didn't barf during deployment?  And I guess I also whonder why we
>>>>> don't refuse to start the application as a whole when part of it  
>>>>> won't
>>>>> start, but that's a larger question.  :)
>>>>>
>>>>> Aaron
>>>>>
>>>>> On 12/5/05, Dave Colasurdo 
>>>>> <davecola-ihVZJaRskl1bRRN4PJnoQQ@public.gmane.org> wrote:
>>>>>
>>>>>> BTW,  the war file (and the web.xml) are available at:
>>>>>>
>>>>>> http://www.ibiblio.org/maven/geronimo/wars/geronimo-servlet- 
>>>>>> examples-tomcat-5.5.12.war
>>>>>>
>>>>>> Sorry that the original email spewed out the attachment in the 
>>>>>> text  window..
>>>>>>
>>>>>> Dave Colasurdo wrote:
>>>>>>
>>>>>>> GERONIMO-1258 will introduce the tomcat examples into Geronimo.
  
>>>>>>> The
>>>>>>> examples seem to install and run fine on both Tomcat and Jetty.
  
>>>>>>> There
>>>>>>> is a warning message (see below) that is spit out during Jetty
 
>>>>>>> startup.
>>>>>>> There is no such message for Tomcat.  Can someone please help

>>>>>>> shed  some
>>>>>>> light on why the warning is being emitted.  I've attached the
 
>>>>>>> relevant
>>>>>>> portions of my geronimo.log.
>>>>>>>
>>>>>>> Thanks
>>>>>>> -Dave-
>>>>>>>
>>>>>>>
>>>>>>> Starting Geronimo Application Server
>>>>>>> [******************] 100%  27s Startup complete
>>>>>>>  Listening on Ports:
>>>>>>>    1099 0.0.0.0   RMI Naming
>>>>>>>    1527 0.0.0.0   Derby Connector
>>>>>>>    4201 127.0.0.1 ActiveIO Connector EJB
>>>>>>>    4242 0.0.0.0   Remote Login Listener
>>>>>>>    8080 0.0.0.0   Jetty Connector HTTP
>>>>>>>    8443 0.0.0.0   Jetty Connector HTTPS
>>>>>>>   61616 0.0.0.0   ActiveMQ Message Broker Connector
>>>>>>>
>>>>>>>  Started Application Modules:
>>>>>>>    WAR: geronimo/uddi-jetty/1.0-SNAPSHOT/car
>>>>>>>    WAR: geronimo/jsp-examples-jetty/1.0-SNAPSHOT/car
>>>>>>>    RAR: geronimo/system-database/1.0-SNAPSHOT/car
>>>>>>>    EAR: geronimo/webconsole-jetty/1.0-SNAPSHOT/car
>>>>>>>    WAR: geronimo/welcome-jetty/1.0-SNAPSHOT/car
>>>>>>>    RAR: geronimo/activemq/1.0-SNAPSHOT/car
>>>>>>>    WAR: geronimo/servlets-examples-jetty/1.0-SNAPSHOT/car
>>>>>>>
>>>>>>>  Web Applications:
>>>>>>>    http://linux-009037214145:8080/
>>>>>>>    http://linux-009037214145:8080/console
>>>>>>>    http://linux-009037214145:8080/console-standard
>>>>>>>    http://linux-009037214145:8080/jsp-examples
>>>>>>>    http://linux-009037214145:8080/juddi
>>>>>>>    http://linux-009037214145:8080/servlets-examples
>>>>>>>
>>>>>>>  WARNING: Some GBeans were not started successfully:
>>>>>>>
>>>>>>> geronimo.server: 
>>>>>>> J2EEApplication=null,J2EEServer=geronimo,Servlet=invoker,WebFilter=

>>>>>>> ServletMappedFilter,WebModule=geronimo/servlets-examples-jetty/

>>>>>>> 1.0-SNAPSHOT/car,j2eeType=WebFilterMapping(starting)
>>>>>>>
>>>>>>>
>>>>>>> geronimo.server: 
>>>>>>> J2EEApplication=null,J2EEServer=geronimo,URLPattern="/servlet/

>>>>>>> \*",WebFilter=PathMappedFilter,WebModule=geronimo/servlets- 
>>>>>>> examples-jetty/1.0-SNAPSHOT/ car,j2eeType=WebFilterMapping(starting)
>>>>>>>
>>>>>>>
>>>>>>> Geronimo Application Server started
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>>
>>
> 


Mime
View raw message