Hi,

Sorry to keep replying to my own question but I gathered two stack traces from 
each of the calls to init that may be useful:

On startup (and this is the servlet also used by the post):

    at 
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
    at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at 
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
    at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
    at 
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)

On calling get (this is the one that fails and has no init-param information):

    at 
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
    at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
    at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857)
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
    at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)

Cheers,

Stuart

On 17 Oct 2012, at 09:15, Stuart Broad wrote:

> Hi,
> 
> I wanted to add that I am accessing the servlet via a javascript request from 
> Apache HTTP.  As such I am setting the following in the header of the POST 
> response:
> 
>       resp.setHeader( "Access-Control-Allow-Origin", mAllowedHost );
> 
> Just wanted to mention this just in case it had anything to do with the 
> init/param problem I am seeing.
> 
> Cheers,
> 
> Stuart
> 
> On 16 Oct 2012, at 18:06, Stuart Broad wrote:
> 
>> 
>> Hi all,
>> 
>> I am not sure why but my servlet init method is getting called more than 
>> once and I am not sure why.  Any help would be much appreciated.
>> 
>> My web.xml is as follows:
>> 
>> <?xml version="1.0" encoding="UTF-8"?>
>> <web-app>
>>   <servlet>
>>       <servlet-name>myserlvet</servlet-name>
>>       <servlet-class>MyServlet</servlet-class>
>>       <async-supported>true</async-supported>
>>       <init-param>
>>           <param-name>example</param-name>
>>           <param-value>value</param-value>
>>       </init-param>
>>       <load-on-startup>1</load-on-startup>
>>   </servlet>
>> 
>>   <servlet-mapping>
>>       <servlet-name>myservlet</servlet-name>
>>       <url-pattern>/poll</url-pattern>
>>       <url-pattern>/run</url-pattern>
>>       <url-pattern>/stop</url-pattern>
>>   </servlet-mapping>
>>      <listener>
>>              <listener-class>MySessionListener</listener-class>
>>      </listener>
>> </web-app>
>> 
>> I am accessing over HTTPS.  The initial POST seems to work ok:
>> 
>>      0:0:0:0:0:0:0:1%0 - - [16/Oct/2012:16:53:54 +0100] "POST /myservlet/run 
>> HTTP/1.1" 200 34
>> 
>> But then this is followed by a GET which fails:
>> 
>>      0:0:0:0:0:0:0:1%0 - - [16/Oct/2012:16:53:54 +0100] "GET 
>> /myservlet/poll?_dc=1350402834770 HTTP/1.1" 500 2312
>> 
>> The reason the GET fails is because the creation of the Servlet fails.  This 
>> is the second time the servlet init is called and for the second time the 
>> init parameters are null (so it fails to be created).  If I could figure out 
>> why the init params are null the second time around I could probably come up 
>> with a work around BUT my preference is to figure out why the init method is 
>> being called twice.
>> 
>> I bit more information:
>> 
>>      Tomcat version: apache-tomcat-7.0.29
>>      Mac OS X 10.7.5
>> 
>> Cheers,
>> 
>> Stuart
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to