tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <craig...@apache.org>
Subject Re: Security Manager, Embedded and Class Loading
Date Tue, 04 Sep 2001 19:14:40 GMT
This is actually pretty easy to understand.

When you do something like

  StandardEngine engine = ...;
  System.out.println("My engine is " + engine);

Java automatically calls engine.toString() for you.  Most (but not quite
all, obviously) of the core Catalina components override toString() to
print out something reasonable.  If you get

  StandardEngine[null]

that just means you have not called engine.getName() yet -- afterwards, it
will print whatever name you've assigned it inside the square brackets.

Craig


On Tue, 4 Sep 2001, Nick Betteridge wrote:

> Date: Tue, 04 Sep 2001 18:27:10 +0100
> From: Nick Betteridge <n.betteridge@syntactics.com>
> Reply-To: tomcat-dev@jakarta.apache.org
> To: tomcat-dev@jakarta.apache.org
> Subject: Security Manager, Embedded and Class Loading
>
> I've a problem that I don't really understand.
>
> I'm in the process of getting the security manager to work with an
> Embedded setup and the bootstrap is virtually the same as Catalina's.
>
> If I create, for example, a (Standard)Server and (Standard)Service, I
> get objects generated. If I attempt to create an engine, the classloader
> (catalinaLoader) finds the (Standard)Engine class, but is unable to
> create a newInstance.
>
> ie ...
>
>
>
>     /**
>      * Create a new server instance.
>      */
>     public void serverCreate() {
>         try {
>             Class serverClass =
> catalinaClassLoader.loadClass("org.apache.catalina.core.StandardServer");
>             Object server = serverClass.newInstance();
>         } catch (Exception ex) {
>         }
>     }
>
> ... will create a : org.apache.catalina.core.StandardServer@5d56d5
>
>
> but a
>
>
>
>     public void engineCreate() {
>         try {
>             Class engineClass =
> catalinaClassLoader.loadClass("org.apache.catalina.core.StandardEngine");
>             Object engine = engineClass.newInstance();
>         } catch (Exception ex) {
>         }
>     }
>
>
> will give a : StandardEngine[null]
>
>
> ..... note that the full package name is missing and that engineClass is
> found.
>
>
> If anybody can shed any light on this, I'd be very grateful for comment
>
> nick
>


Mime
View raw message