yeah i've followed it, but i'm just lost with the first lines: * 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 *
For now; I get a MBeanServerConnection and I can invoke the differents methods like this: JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + hostIPAddress + "/jmxrmi"); JMXConnector conn = JMXConnectorFactory.connect(url); MBeanServerConnection mbsc = conn.getMBeanServerConnection(); ObjectName objectName = new ObjectName("Catalina:type=MBeanFactory"); Object[] params = {"Catalina:type=Host,host="+nameVH,"/manager","/data/tomcat/server/manager"}; String[] signature = {String.class.getName(), String.class.getName(), String.class.getName()}; mbsc.invoke(objectName, "createStandardContext", params, signature); That's how i create a context for a given host. But like the there is no addSSOAgentValve, that's why i'm trying to use bill's code . O.V 2008/9/1 Martin Gainty <[EMAIL PROTECTED]> > > did you follow bill's code sample ?...did you have different result?also > please display the exact structure and calls you are making to instantiate > your javax.management.MBeanServerand which class is executing the addChild > > javadocs located at > > http://java.sun.com/j2ee/1.4/docs/api/javax/management/package-summary.htmlthanks/Martin______________________________________________ > Disclaimer and > confidentiality note Everything in this e-mail and any attachments relates > to the official business of Sender. This transmission is of a confidential > nature and Sender does not endorse distribution to any party other than > intended recipient. Sender does not necessarily endorse content contained > within this transmission. > Date: Mon, 1 Sep 2008 21:57:55 +0200> From: > [EMAIL PROTECTED]> To: users@tomcat.apache.org> Subject: Re: adding > a virtual host with jmx> > hi,> so i'm using tomcat 6.0.15.> > I'm trying > now to add a josso valve: <Valve> > className="org.josso.tc60.agent.SSOAgentValve" debug="1"/> always by jmx.> > > I don't get your lines, in fact...> > Could you please help me a little > more?> > O.V> > > > > 2008/7/31 Bill Barker <[EMAIL PROTECTED]>> > > > 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]> >> > > _________________________________________________________________ > Talk to your Yahoo! Friends via Windows Live Messenger. Find out how. > > http://www.windowslive.com/explore/messenger?ocid=TXT_TAGLM_WL_messenger_yahoo_082008