It's a lot of lines of code, but not that hard.  You haven't mentioned your 
Tomcat version, so I'll give a sort of generic setup.
    ObjectName loader = getServerLoader(); // depends on the settings and 
version
    ObjectName registry = getRegistry(); // depends on the settings and 
version
    MBeanServer server = getTCMBeansServer(); // generally the first one, 
unless you (or your J2EE) are playing games

    String hname = "Catalina:type=Host,host="+hostName; // Assuming the 
default Engine name of "Catalina"
    ObjectName ohost = new ObjectName(hname);
    Object host = server.instantiate(HOST_CLASS, loader);
    server.invoke(registry, "registerComponent",
        new Object[] {host, hname, null},
        new String[] 
{"java.lang.Object","java.lang.String","java.lang.String"});
    server.setAttribute(ohost, new Attribute("appBase", appBase));
    //  Set more attributes, and aliases etc here
    // Things like Realms and Contexts work much the same way if you follow 
Tomcat's naming conventions
    server.invoke(ohost, "start", null, null);
    // Start your contexts here, if you don't have automatic deployment set.

As long as you follow Tomcat's naming conventions for ObjectNames, invoking 
"start" will automagically add the new elements to where they should live. 
You can get the values for the "loader" and "registry" by hooking up a JMX 
console to your existing Tomcat.

"Olivier Vergès" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> hi all,
>
> I'm creating a web application for auto deploying virtual host through
> apache and tomcat on a production server.
> Everything is ok except for the Tomcat part:
> As tomcat can't be reloaded  and as i can't restart anytime I want,  I 've
> heard jmx was great cause it was possible to modify a running tomcat (is 
> the
> english expression is "on the fly"?).
>
> So, Connection to Mbean server is ok...
>
> My problem is :
> when i invoke the addChild (org.apache.catalina.core.Container) method of
> Engine I get this error:
>             "java.io.NotSerializableException:
> org.apache.catalina.util.LifecycleSupport
>              at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
>              at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)..."
>
>
> So i try to create my own addChildByString(String;String,String,String)
> which takes the appabase and the name of th virtual host, and path and
> docBase of the first needed context. But i've got a problem with the 
> context
> now,
> " GRAVE: Error getConfigured" (and nothing else)
>
> i'm a little lost with all the classes and functions and I haven't found 
> any
> docs about adding vh by jmx.
>
> has anyone tried to add and directly make worked a virtual host and a
> context on a running tomcat ?
>
> thx,
> Olivier
> 




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to