Re: Getting the Tomcat shutdown port

2011-03-01 Thread Olivier Lefevre

On 2/28/2011 8:18 PM, Mark Thomas wrote:

http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityListener.java?view=annotate


This is brand new, isn't it? I can't find it in the 7.0.8 sources.

So it may throw a java.lang.Error at Lifecycle.BEFORE_INIT_EVENT
time but what happens then? I read §10.9 and §11.6 and it only
talks about the user-configurable exception handling: it does not
seem to specify what the application server may do internally.
Besides it is talking about errors that occur much later in the
life cycle. So, is the whole Tomcat supposed to die if you throw
at BEFORE_INIT_EVENT?

-- O.L.


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



Re: Getting the Tomcat shutdown port

2011-03-01 Thread Mark Thomas
On 01/03/2011 13:52, Olivier Lefevre wrote:
 On 2/28/2011 8:18 PM, Mark Thomas wrote:
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityListener.java?view=annotate

 
 This is brand new, isn't it? I can't find it in the 7.0.8 sources.
Yes.

 So it may throw a java.lang.Error at Lifecycle.BEFORE_INIT_EVENT
 time but what happens then? I read §10.9 and §11.6 and it only
 talks about the user-configurable exception handling: it does not
 seem to specify what the application server may do internally.
 Besides it is talking about errors that occur much later in the
 life cycle. So, is the whole Tomcat supposed to die if you throw
 at BEFORE_INIT_EVENT?

Providing you throw an Error, Tomcat is guaranteed not to start.

Mark

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



Re: Getting the Tomcat shutdown port

2011-03-01 Thread Olivier Lefevre

On 3/1/2011 2:57 PM, Mark Thomas wrote:

Providing you throw an Error, Tomcat is guaranteed not to start.


OK! Just to be 100% clear, this is a Tomcat thing, not a servlet
spec thing, right? Just wondering whether it's portable.

-- O.L.



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



Re: Getting the Tomcat shutdown port

2011-03-01 Thread Mark Thomas
On 01/03/2011 14:46, Olivier Lefevre wrote:
 On 3/1/2011 2:57 PM, Mark Thomas wrote:
 Providing you throw an Error, Tomcat is guaranteed not to start.
 
 OK! Just to be 100% clear, this is a Tomcat thing, not a servlet
 spec thing, right? Just wondering whether it's portable.

Yes, this is Tomcat specific.

Mark

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



RE: Getting the Tomcat shutdown port

2011-03-01 Thread Caldarale, Charles R
 From: Olivier Lefevre [mailto:lefev...@yahoo.com] 
 Subject: Re: Getting the Tomcat shutdown port

 Just to be 100% clear, this is a Tomcat thing, not a servlet
 spec thing, right? Just wondering whether it's portable.

Anything using an org.apache class is Tomcat-specific, and therefore not 
portable.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



Re: Getting the Tomcat shutdown port

2011-03-01 Thread Olivier Lefevre

On 3/1/2011 3:54 PM, Caldarale, Charles R wrote:

Anything using an org.apache class is Tomcat-specific, and

 therefore not portable.

Oh, right. I had not picked up that LifecycleListener itself is
a Catalina class.

Still, the basic issue is not about the listener per se but how
the app server reacts to an Error thrown during initialization.

-- O.L.


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



Getting the Tomcat shutdown port

2011-02-28 Thread Olivier Lefevre

Is there a programmatic way to retrieve it from within
a webapp, more exactly from within Servlet.init()? I
can't find one. Same question for the actual command.

As you may have guessed, I want to shut down Tomcat by
opening a socket and sending it a SHUTDOWN or whatever.
Maybe there is a less low-level way to do it but I can't
find it either.

Thanks,

-- O.L.


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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Mark Thomas
On 28/02/2011 15:34, Olivier Lefevre wrote:
 Is there a programmatic way to retrieve it from within
 a webapp, more exactly from within Servlet.init()? I
 can't find one. Same question for the actual command.
 
 As you may have guessed, I want to shut down Tomcat by
 opening a socket and sending it a SHUTDOWN or whatever.
 Maybe there is a less low-level way to do it but I can't
 find it either.

Doing this from a servlet begs the question how you are going to restart
it. I'm also curious why you want tot do this but System.exit() will
have exactly the same result as using the shutdown port.

Mark

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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Olivier Lefevre

Doing this from a servlet begs the question how you are going
to restart it.


Not an issue: I want to shut it down at startup if some needed
resources cannot be found. No pint restarting it then.


I'm also curious why you want tot do this but System.exit() will
have exactly the same result as using the shutdown port.


Does Tomcat set up appropriate shutdown hooks when it starts?
Otherwise tearing down the VM could cause damage to external
resources at least.

-- O.L.



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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Mark Thomas
On 28/02/2011 16:12, Olivier Lefevre wrote:
 Doing this from a servlet begs the question how you are going
 to restart it.
 
 Not an issue: I want to shut it down at startup if some needed
 resources cannot be found. No pint restarting it then.

Fair enough. I wouldn't do it in a Servlet.init() though. A
ServletContextListener that stops the app starting is probably better.
Your application may be on a shared Tomcat instance someday and
System.exit is really bad in that case.

If you really do want to control Tomcat startup, a LifecycleListener is
a better approach but Tomcat specific.

 I'm also curious why you want tot do this but System.exit() will
 have exactly the same result as using the shutdown port.
 
 Does Tomcat set up appropriate shutdown hooks when it starts?
 Otherwise tearing down the VM could cause damage to external
 resources at least.

Yes, which is why I wrote System.exit() will have exactly the same
result as using the shutdown port..

Mark

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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Olivier Lefevre

Your application may be on a shared Tomcat instance someday
and System.exit is really bad in that case.


True. So let's kill the servlet instead. But it's still unclear
how you'd do that because from the ServletConfig you can get the
ServletContext but from the ServletContext you can no longer get
the Servlet: that has been deprecated and that getter now returns
null. But perhaps I am looking in the wrong direction: the
Servlet.destroy APIdoc says Called by the servlet container to
indicate to a servlet that the servlet is being taken out of service.
which implies that the teardown is initiated elsewhere and that
simply calling destroy wouldn't do anything useful.


If you really do want to control Tomcat startup, a LifecycleListener

 is a better approach but Tomcat specific.

There are plenty of LifecycleListener classes in the API; which
one would work best: ServerLifecycleListener?

-- O.L.


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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Mark Thomas
On 28/02/2011 16:59, Olivier Lefevre wrote:
 Your application may be on a shared Tomcat instance someday
 and System.exit is really bad in that case.
 
 True. So let's kill the servlet instead.

If you want to stop a single Servlet then Servlet.init() is the place to
it. See section 2.3.2 of the Servlet 3.0 spec.

 If you really do want to control Tomcat startup, a LifecycleListener
 is a better approach but Tomcat specific.
 
 There are plenty of LifecycleListener classes in the API; which
 one would work best: ServerLifecycleListener?

org.apache.catalina.LifecycleListener was what I meant

Mark

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



RE: Getting the Tomcat shutdown port

2011-02-28 Thread Caldarale, Charles R
 From: Olivier Lefevre [mailto:lefev...@yahoo.com] 
 Subject: Re: Getting the Tomcat shutdown port

  Your application may be on a shared Tomcat instance someday
  and System.exit is really bad in that case.

 So let's kill the servlet instead.

The servlet, or the webapp?

 But it's still unclear how you'd do that because from the 
 ServletConfig you can get the ServletContext but from the
 ServletContext you can no longer get the Servlet:

There's no the Servlet; the ServletContext is for the webapp, which may be 
comprised of many servlets.

Why don't you simply throw a ServletException in the init() method of the 
servlets of interest?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.



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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Olivier Lefevre

On 2/28/2011 6:06 PM, Mark Thomas wrote:

If you want to stop a single Servlet then Servlet.init() is the
place to it. See section 2.3.2 of the Servlet 3.0 spec.


I.e., the exception throwing approach suggested by C. Caldarale in
the next answer. Yes, it's neat. So I was overcomplicating it.


org.apache.catalina.LifecycleListener was what I meant


I know it's an interface I have to implement but without some
concrete class close to my problem to look at for guidance
LifecycleListener in and of itself does not help me much.

-- O.L.


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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Mark Thomas
On 28/02/2011 19:13, Olivier Lefevre wrote:
 I know it's an interface I have to implement but without some
 concrete class close to my problem to look at for guidance
 LifecycleListener in and of itself does not help me much.

Ah, OK. Try this:

http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityListener.java?view=annotate

Mark

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



Re: Getting the Tomcat shutdown port

2011-02-28 Thread Olivier Lefevre

On 2/28/2011 6:09 PM, Caldarale, Charles R wrote:

The servlet, or the webapp?


The webapp in this case: the servlet that might fail is the
worker servlet, the others more in a supporting role (e.g.,
UI). So if it fails the whole webapp should shut down.


Why don't you simply throw a ServletException in the init()

 method of the servlets of interest?

OK. But how to communicate to the other servlets of the
webapp that they, too, should commit suicide?

Are they guaranteed to be created in a certain order? In that
case I'd put the worker servlet ahead and then maybe there is
a way to leave a breadcrumb behind after its death as a sign
to the others that they should not proceed.

-- O.L.


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