Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 27960 invoked from network); 16 Jun 2009 02:12:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Jun 2009 02:12:07 -0000 Received: (qmail 63761 invoked by uid 500); 16 Jun 2009 02:12:18 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 63656 invoked by uid 500); 16 Jun 2009 02:12:18 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 63648 invoked by uid 99); 16 Jun 2009 02:12:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jun 2009 02:12:18 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of xhhsld@gmail.com designates 74.125.46.30 as permitted sender) Received: from [74.125.46.30] (HELO yw-out-2324.google.com) (74.125.46.30) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jun 2009 02:12:10 +0000 Received: by yw-out-2324.google.com with SMTP id 2so1907654ywt.85 for ; Mon, 15 Jun 2009 19:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=WQvLIJab+Dv+W0MYs7o06EFYB0oNGnmOKvOXuU4Rqds=; b=OoxmRu74ULfI2lSo0WcErWpwSmLVKNdClV99yFKe+rCIjhM1WWvZ/vl166LwpP28iI zww+RjfMEHphHYllrlSF/MPwNqYOsL9ig9yi6IOauFkn4t5izxQ+I7B6Bluk1y0OqKm3 StjJshsX4S5ZWgBDGiUm8hShK4rE1QD4rPiFs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=pnwgxxclo1c51XpIYOiY1EkSTzrfZhNAG/FjZuoHgqItvyOqrw6dyI+4fA263H3XzA RyBtkvIL7IG3uZtfbVobntTOlKygZW20EiKx7hayVD7qgiyPIS2v15q5qjdjySmSL6xp c1YbuBPYzQCykOQGXgmAa4tGao0P2/IssZF4I= MIME-Version: 1.0 Received: by 10.231.11.1 with SMTP id r1mr2772143ibr.23.1245117948253; Mon, 15 Jun 2009 19:05:48 -0700 (PDT) In-Reply-To: <5019A1D4-18E9-425A-ADF7-8F24A32C755B@yahoo.com> References: <4A11BBDB.1010101@gmail.com> <30C3E863-9868-4866-AC2E-26999BC98DD2@yahoo.com> <45f744e40906142030x6fa8cb22s223a0515440d9804@mail.gmail.com> <3713ED1A-9D17-40C1-9D27-30F45DC07428@yahoo.com> <45f744e40906142315v4cc0e19cm20a648171c9487c@mail.gmail.com> <45f744e40906150107u46059ed1p25e90c2ead34eaf4@mail.gmail.com> <45f744e40906150150i1ee6ecd6wda2249370fd6945d@mail.gmail.com> <45f744e40906150316y3d3fb5ay1743be7d2095b41f@mail.gmail.com> <5019A1D4-18E9-425A-ADF7-8F24A32C755B@yahoo.com> Date: Tue, 16 Jun 2009 10:05:47 +0800 Message-ID: <45f744e40906151905i7626ebe6u9b5cc68352c89a50@mail.gmail.com> Subject: Re: Possible for G to directly consume a Tomcat server config w/o changes? From: Ivan To: dev@geronimo.apache.org Content-Type: multipart/alternative; boundary=0022152d820d02570e046c6d9d5a X-Virus-Checked: Checked by ClamAV on apache.org --0022152d820d02570e046c6d9d5a Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 2009/6/16 David Jencks > > On Jun 15, 2009, at 3:16 AM, Ivan wrote: > > Hi, > After reading those Tomcat integration codes, it seems easier for those > Tomcat users. But maybe much further work need to be done due to this > change, I just feel that this change is "too big" :-) > From what I see, > 1. Some portlet codes needs to be update, such as we could never list > connectors via searching GBeans in the kernel. > > > I'm not sure about this. We actually have 2 independent ways to configure > a tomcat server. I'm not sure we can afford 2 separate console > implementations to configure both of them. We should be able to _list_ > connectors by looking for mbeans in the mbean server. Adding/removing them > would be considerably more complicated. We might try something like we have > for activemq where you can edit the plan and restart it. > Ivan : Yes, I agree that we could look for them in the mebean server, or directly list them from tomcat internal classes, like what ActiveMQ now does. So, do we plan to use the server.xml to maintaine the Tomcat configurations in the future ? If we use the way what ActiveMQ does now, many portlets may not be used. For maintaining those configurations in two places is not a good choice. And it means that a big change occurs, the user may be used to add/remove connector via portlet, I wish to keep those portlets, may be we could change those logic behind the portlet, for example, just using JAXB to marshall/unmarshall those connector settings to the server.xml. > > 2. In the server.xml, we may need some placeholders to use those values > in the config-subsitution.xml file > > > I agree with this idea. > > > 3. Many configurations used in the past could not be used, such as > HostGBean, ValveGBean ...etc > > > I left the entire set of old gbeans in place so that old style geronimo > plans using these gbeans should continue to work. > > Ivan : > Let's take HostGBean as an example, it depends on the EngineGBean, but now we did not have EngineGBean, for all the objects are built in those JAXB classes. I have an idea, in those JAXB classes, create all those GBeans dynamically, or shall we make those beans are GBeans and JAXB Beans in the same time, not sure if it works, I have not tried it. > > ... > Any comment, or maybe I missed anything ? > Thanks ! > > > > re the errors..... I think I sometimes see this error and sometimes not but > the server appears to work for me anyway. As you note above the console > doesn't work for the new style configuration. > Ivan: Seems that we need set the MBeanServer in the Registry, and also set the embedded variable in the ContainerGBean, I will do the changes and commit them today. > > thanks > david jencks > > > 2009/6/15 Ivan > >> Hi, I paste some logs from my server build. >> 1. Not sure why ? I did not do a further invesitigation, any comment ! >> ----------> >> 2009-06-15 03:04:35,346 INFO [SystemProperties] Setting >> Property=org.apache.catalina.STRICT_SERVLET_COMPLIANCE to Value=true >> 2009-06-15 03:04:35,673 ERROR [ServerLifecycleListener] createMBeans: >> MBeanException >> java.lang.Exception: ManagedBean is not found with MBeanFactory >> at >> org.apache.catalina.mbeans.MBeanUtils.createMBean(MBeanUtils.java:459) >> at >> org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:553) >> at >> org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:277) >> at >> org.apache.catalina.mbeans.ServerLifecycleListener.lifecycleEvent(ServerLifecycleListener.java:129) >> at >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) >> at >> org.apache.catalina.core.StandardServer.start(StandardServer.java:703) >> at >> org.apache.geronimo.tomcat.TomcatServerGBean.doStart(TomcatServerGBean.java:108) >> at >> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948) >> at >> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:269) >> at >> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:103) >> at >> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:125) >> at >> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:538) >> at >> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:377) >> at >> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456) >> at >> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:190) >> at >> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:546) >> at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:585) >> at >> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34) >> at >> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130) >> at >> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:815) >> at >> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) >> at >> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) >> at >> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) >> at >> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$63df5cd5.startConfiguration() >> at >> org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:161) >> at >> org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:78) >> at >> org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45) >> at >> org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65) >> at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30) >> 2009-06-15 03:04:35,705 INFO [StandardService] Starting service Catalina >> 2009-06-15 03:04:35,729 WARN [MemoryUserDatabase] User database is not >> persistable - no write permissions on directory >> 2009-06-15 03:04:36,874 INFO [startup] Assembling app: >> /home/xuhaihong/geronimo/plugins/mejb/geronimo-mejb/target/geronimo-mejb-2..2-SNAPSHOT.jar >> <-------------- >> >> 2. Some Null PointerException while adding the connector via GBean. Seems >> that the new ServerGBean also need to have a gerService method, and save the >> reference to the embbed variable of ContainerGBean. Or those functions in >> the portlet are not work. I will do this change. >> >> Thanks ! >> Ivan >> 2009/6/15 Ivan >> >> Tomcat-ext from >>> https://repository.apache.org/content/repositories/snapshots/org/apache/geronimo/ext/tomcat/ >>> . >>> I added the url >>> https://repository.apache.org/content/repositories/snapshotsto my local pom.xml, then I could build the whole Geronimo server. >>> By the way, the server failed to start, I am trying to find why. >>> >>> Thanks ! >>> Ivan >>> >>> 2009/6/15 David Jencks >>> >>>> >>>> On Jun 14, 2009, at 11:15 PM, Ivan wrote: >>>> >>>> See, I got those artifacts from that url, >>>> >>>> >>>> which artifacts from which url? >>>> >>>> So do we need to add this url to the pom.xml of Geronimo's root folder. >>>> I found that it is comment out in that file ? >>>> >>>> >>>> Which url? the apache nexus snapshot repo is already in the apache 6 >>>> root pom. It looks like some of the links on the index page at >>>> http://repository.apache.org/snapshots >>>> don't work but typing in more of a url seems to get to the right >>>> content. >>>> >>>> thanks >>>> david jencks >>>> >>>> >>>> >>>> Thanks ! >>>> Ivan >>>> >>>> 2009/6/15 David Jencks >>>> >>>>> >>>>> On Jun 14, 2009, at 8:30 PM, Ivan wrote: >>>>> >>>>> In which snapshot site, I could find the tomcat build ? I have checked >>>>> the people, not found. >>>>> >>>>> >>>>> >>>>> https://repository.apache.org/content/repositories/snapshots/org/apache/geronimo/ext/tomcat/ >>>>> >>>>> This is in the apache 6 pom... are you having trouble accessing it from >>>>> china? >>>>> >>>>> Then I tried to build them on my local machine, some errors occured, is >>>>> there any option that I could set ? (I just run 'mvn install') >>>>> >>>>> >>>>> Don't build the archetype directly.... run ./build-archetype.sh. It >>>>> only works on unix like systems. >>>>> >>>>> did you check out this? >>>>> >>>>> https://svn.apache.org/repos/asf/geronimo/external/trunk/tomcat-parent-6.0.18 >>>>> >>>>> For the tomcat-archetype, it said that >>>>> org.eclipse.jdt:core:jar:3.2.3.v_686_R32x could not be found >>>>> >>>>> >>>>> that's odd, I thought my local nexus found it in maven central repo but >>>>> it's not there now. I'll update it to 3.3.0-v_771 >>>>> >>>>> For the tomcat-parent-6.0.18, it said >>>>> ---> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.java:[42,20] >>>>> package javax.xml.ws does not exist >>>>> >>>>> >>>>> I was compiling on java 6. I'll add geronimo-jaxws_2.1_spec >>>>> >>>>> Thanks for trying it out, let me know if there are more problems! >>>>> david jencks >>>>> >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSession.java:[47,26] >>>>> [deprecation] javax.servlet.http.HttpSessionContext in javax.servlet.http >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[26,26] >>>>> [deprecation] javax.servlet.http.HttpSessionContext in javax.servlet.http >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSession.java:[268,21] >>>>> [deprecation] javax.servlet.http.HttpSessionContext in javax.servlet.http >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[104,11] >>>>> [deprecation] javax.servlet.http.HttpSessionContext in javax.servlet.http >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/StandardWrapper.java:[43,21] >>>>> [deprecation] javax.servlet.SingleThreadModel in javax.servlet has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/Response.java:[477,43] >>>>> [deprecation] isSpace(char) in java.lang.Character has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/connector/Response.java:[756,47] >>>>> [deprecation] isSpace(char) in java.lang.Character has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/connector/Connector.java:[1012,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.java:[263,53] >>>>> cannot find symbol >>>>> symbol : class WebServiceRef >>>>> location: class org.apache.catalina.core.DefaultInstanceManager >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.java:[264,20] >>>>> cannot find symbol >>>>> symbol : class WebServiceRef >>>>> location: class org.apache.catalina.core.DefaultInstanceManager >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.java:[265,44] >>>>> cannot find symbol >>>>> symbol : class WebServiceRef >>>>> location: class org.apache.catalina.core.DefaultInstanceManager >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.java:[295,54] >>>>> cannot find symbol >>>>> symbol : class WebServiceRef >>>>> location: class org.apache.catalina.core.DefaultInstanceManager >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.java:[296,20] >>>>> cannot find symbol >>>>> symbol : class WebServiceRef >>>>> location: class org.apache.catalina.core.DefaultInstanceManager >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.java:[297,45] >>>>> cannot find symbol >>>>> symbol : class WebServiceRef >>>>> location: class org.apache.catalina.core.DefaultInstanceManager >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/JniHandler.java:[170,30] >>>>> [deprecation] MsgContext() in org.apache.jk.core.MsgContext has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/JniHandler.java:[171,23] >>>>> [deprecation] MsgAjp() in org.apache.jk.common.MsgAjp has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DummyResponse.java:[122,16] >>>>> [deprecation] setStatus(int,java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DummyResponse.java:[111,18] >>>>> [deprecation] encodeRedirectUrl(java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DummyResponse.java:[113,18] >>>>> [deprecation] encodeUrl(java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DummyRequest.java:[258,19] >>>>> [deprecation] isRequestedSessionIdFromUrl() in >>>>> javax.servlet.http.HttpServletRequest has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/DummyRequest.java:[205,18] >>>>> [deprecation] getRealPath(java.lang.String) in javax.servlet.ServletRequest >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[144,16] >>>>> [deprecation] removeValue(java.lang.String) in >>>>> javax.servlet.http.HttpSession has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[134,16] >>>>> [deprecation] putValue(java.lang.String,java.lang.Object) in >>>>> javax.servlet.http.HttpSession has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[124,20] >>>>> [deprecation] getValueNames() in javax.servlet.http.HttpSession has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[114,18] >>>>> [deprecation] getValue(java.lang.String) in javax.servlet.http.HttpSession >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[104,30] >>>>> [deprecation] getSessionContext() in javax.servlet.http.HttpSession has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[105,22] >>>>> [deprecation] getSessionContext() in javax.servlet.http.HttpSession has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/session/StandardSessionFacade.java:[125,22] >>>>> [deprecation] getValueNames() in javax.servlet.http.HttpSession has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/ChannelSocket.java:[786,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/ssi/ResponseIncludeWrapper.java:[39,7] >>>>> [deprecation] setStatus(int,java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/ssi/ResponseIncludeWrapper.java:[39,7] >>>>> [deprecation] encodeRedirectUrl(java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/ssi/ResponseIncludeWrapper.java:[39,7] >>>>> [deprecation] encodeUrl(java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/ChannelUn.java:[299,24] >>>>> [deprecation] MsgAjp() in org.apache.jk.common.MsgAjp has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/ChannelUn.java:[353,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java:[339,16] >>>>> [deprecation] setStatus(int,java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java:[48,0] >>>>> [deprecation] encodeRedirectUrl(java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java:[48,0] >>>>> [deprecation] encodeUrl(java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationHttpResponse.java:[342,12] >>>>> [deprecation] setStatus(int,java.lang.String) in >>>>> javax.servlet.http.HttpServletResponse has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/WorkerDummy.java:[58,16] >>>>> [deprecation] MsgAjp() in org.apache.jk.common.MsgAjp has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/manager/util/SessionUtils.java:[121,101] >>>>> non-varargs call of varargs method with inexact argument type for last >>>>> parameter; >>>>> cast to java.lang.Class for a varargs call >>>>> cast to java.lang.Class[] for a non-varargs call and to suppress this >>>>> warning >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/manager/util/SessionUtils.java:[124,94] >>>>> non-varargs call of varargs method with inexact argument type for last >>>>> parameter; >>>>> cast to java.lang.Object for a varargs call >>>>> cast to java.lang.Object[] for a non-varargs call and to suppress this >>>>> warning >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/http11/Http11NioProtocol.java:[349,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java:[64,22] >>>>> [deprecation] getSSLSupport(javax.net.ssl.SSLSession) in >>>>> org.apache.tomcat.util.net.SSLImplementation has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java:[64,22] >>>>> [deprecation] getSSLSupport(javax.net.ssl.SSLSession) in >>>>> org.apache.tomcat.util.net.SSLImplementation has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/servlets/InvokerHttpRequest.java:[36,0] >>>>> [deprecation] getRealPath(java.lang.String) in javax.servlet.ServletRequest >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/servlets/InvokerHttpRequest.java:[36,0] >>>>> [deprecation] isRequestedSessionIdFromUrl() in >>>>> javax.servlet.http.HttpServletRequest has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/servlets/InvokerHttpRequest.java:[36,0] >>>>> [deprecation] getRealPath(java.lang.String) in javax.servlet.ServletRequest >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/StandardWrapper.java:[1110,51] >>>>> [deprecation] javax.servlet.SingleThreadModel in javax.servlet has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/ajp/AjpAprProtocol.java:[236,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/http11/Http11Protocol.java:[250,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/startup/SetNextNamingRule.java:[84,16] >>>>> [deprecation] end() in org.apache.tomcat.util.digester.Rule has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/ajp/AjpProtocol.java:[235,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationHttpRequest.java:[61,0] >>>>> [deprecation] getRealPath(java.lang.String) in javax.servlet.ServletRequest >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationHttpRequest.java:[61,0] >>>>> [deprecation] isRequestedSessionIdFromUrl() in >>>>> javax.servlet.http.HttpServletRequest has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationHttpRequest.java:[61,0] >>>>> [deprecation] getRealPath(java.lang.String) in javax.servlet.ServletRequest >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/startup/ConnectorCreateRule.java:[49,16] >>>>> [deprecation] begin(org.xml.sax.Attributes) in >>>>> org.apache.tomcat.util.digester.Rule has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/startup/ConnectorCreateRule.java:[70,16] >>>>> [deprecation] end() in org.apache.tomcat.util.digester.Rule has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/valves/ExtendedAccessLogValve.java:[410,29] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/connector/CoyoteAdapter.java:[626,24] >>>>> [deprecation] >>>>> convert(org.apache.tomcat.util.buf.ByteChunk,org.apache.tomcat.util.buf.CharChunk) >>>>> in org.apache.tomcat.util.buf.B2CConverter has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/ChannelNioSocket.java:[733,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationRequest.java:[49,0] >>>>> [deprecation] getRealPath(java.lang.String) in javax.servlet.ServletRequest >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[256,16] >>>>> [deprecation] log(java.lang.Exception,java.lang.String) in >>>>> javax.servlet.ServletContext has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[238,23] >>>>> [deprecation] getServletNames() in javax.servlet.ServletContext has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[229,23] >>>>> [deprecation] getServlets() in javax.servlet.ServletContext has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[211,19] >>>>> [deprecation] getServlet(java.lang.String) in javax.servlet.ServletContext >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[224,26] >>>>> [deprecation] getServlet(java.lang.String) in >>>>> org.apache.catalina.core.ApplicationContext has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[233,26] >>>>> [deprecation] getServlets() in org.apache.catalina.core.ApplicationContext >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[242,26] >>>>> [deprecation] getServletNames() in >>>>> org.apache.catalina.core.ApplicationContext has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/ApplicationContextFacade.java:[261,19] >>>>> [deprecation] log(java.lang.Exception,java.lang.String) in >>>>> org.apache.catalina.core.ApplicationContext has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/http11/Http11AprProtocol.java:[184,36] >>>>> [deprecation] encode(java.lang.String) in java.net.URLEncoder has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/startup/WebRuleSet.java:[754,16] >>>>> [deprecation] end() in org.apache.tomcat.util.digester.Rule has been >>>>> deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/startup/WebRuleSet.java:[866,16] >>>>> [deprecation] body(java.lang.String) in org.apache.tomcat.util.digester.Rule >>>>> has been deprecated >>>>> >>>>> /home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/startup/WebRuleSet.java:[890,16] >>>>> [deprecation] body(java.lang.String) in org.apache.tomcat.util.digester.Rule >>>>> has been deprecated >>>>> >>>>> >>>>> [INFO] >>>>> ------------------------------------------------------------------------ >>>>> [INFO] For more information, run Maven with the -e switch >>>>> [INFO] >>>>> ------------------------------------------------------------------------ >>>>> [INFO] Total time: 15 seconds >>>>> [INFO] Finished at: Sun Jun 14 23:34:06 EDT 2009 >>>>> [INFO] Final Memory: 54M/352M >>>>> [INFO] >>>>> ------------------------------------------------------------------------ >>>>> >>>>> <--- >>>>> Thanks ! >>>>> Ivan >>>>> >>>>> 2009/6/14 David Jencks >>>>> >>>>>> I pushed a snapshot of our new tomcat build earlier today and just >>>>>> committed the server.xml changes to trunk. With a little luck I won't have >>>>>> made the build significantly more broken. >>>>>> >>>>>> thanks >>>>>> david jencks >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Jun 12, 2009, at 11:21 AM, David Jencks wrote: >>>>>> >>>>>> >>>>>>> On Jun 12, 2009, at 10:51 AM, Kevan Miller wrote: >>>>>>> >>>>>>> >>>>>>>> On Jun 5, 2009, at 3:00 AM, David Jencks wrote: >>>>>>>> >>>>>>>> >>>>>>>>> On Jun 3, 2009, at 10:35 PM, Kevan Miller wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>>> On Jun 2, 2009, at 6:46 PM, David Jencks wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I played with something like this on the plane today..... it >>>>>>>>>>> might not take more that a couple days to get _something_ working that >>>>>>>>>>> interprets server.xml files. It turns out there's no schema for tomcat >>>>>>>>>>> configurations so it may be an adventure interpreting the same files they >>>>>>>>>>> do. >>>>>>>>>>> >>>>>>>>>>> We might be able to copy their digester configuration but replace >>>>>>>>>>> defaults with geronimo classes instead of tomcat classes. I find digester >>>>>>>>>>> grammar so hard to understand however that I started by generating a schema >>>>>>>>>>> from a sample file and modifying it to fit the digeter rules. >>>>>>>>>>> >>>>>>>>>>> My current idea is to have a TomcatServerGBean that has a >>>>>>>>>>> server.xml as an attribute, which it reads into a jaxb tree, which we call a >>>>>>>>>>> "construct(ClassLoader cl)" method on to set up the tomcat objects. If this >>>>>>>>>>> works it should be fairly easy.... no idea if it will actually work though. >>>>>>>>>>> >>>>>>>>>>> Next step would be a builder that, given a server.xml, sets up >>>>>>>>>>> such a gbean. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Sounds interesting. IIUC, this embedded Tomcat instance replaces >>>>>>>>>> our current embedded Tomcat. It improves our ability to configure this >>>>>>>>>> instance -- it's native Tomcat config. >>>>>>>>>> >>>>>>>>>> Are you thinking about all configuration files? E.g. >>>>>>>>>> WEB-INF/context.xml, conf/context.xml? There are catalina.policy, >>>>>>>>>> catalina.properties, tomcat-users.xml, also. Hmm. gets a little messier... >>>>>>>>>> >>>>>>>>> >>>>>>>>> I have enough working now so I can run the admin console on a >>>>>>>>> server set up this way. I haven't looked at any files other than server.xml >>>>>>>>> yet. Some like tomcat-users.xml are for a security realm we aren't going to >>>>>>>>> use or, probably, support using. Not sure about the others. >>>>>>>>> >>>>>>>> >>>>>>>> Cool. Can you point me to the code? >>>>>>>> >>>>>>> >>>>>>> I'm hoping to get it checked in today. I have a bunch of stuff >>>>>>> intertwined locally so this involves figuring out where to put our tomcat >>>>>>> build in svn and pushing a snapshot for it first. I still don't have a good >>>>>>> idea where in svn to put builds of other projects. I guess I'll use >>>>>>> "external" and we can move it if anyone has a better idea. >>>>>>> >>>>>>> thanks >>>>>>> david jencks >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> --kevan >>>>>>>> >>>>>>> >>>>> >>>>> >>>>> -- >>>>> Ivan >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Ivan >>>> >>>> >>>> >>> >>> >>> -- >>> Ivan >>> >> >> >> >> -- >> Ivan >> > > > > -- > Ivan > > > -- Ivan --0022152d820d02570e046c6d9d5a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

2009/6/16 David Jencks <david_jencks@yahoo.com&g= t;

On Jun 15, 2009, at 3:16 AM= , Ivan wrote:

Hi,
=A0=A0 After readin= g those Tomcat integration codes, it seems easier for those Tomcat users. B= ut maybe much further work need to be done due to this change, I just feel = that this change is "too big" :-)
=A0 From what I see,
=A0 1. Some portlet codes needs to be update, suc= h as we could never list connectors via searching GBeans in the kernel.
=

I'm not sure about this. =A0We actual= ly have 2 independent ways to configure a tomcat server. =A0I'm not sur= e we can afford 2 separate console implementations to configure both of the= m. =A0We should be able to _list_ connectors by looking for mbeans in the m= bean server. =A0Adding/removing them would be considerably more complicated= . =A0We might try something like we have for activemq where you can edit th= e plan and restart it.
=A0=A0 Ivan :
=A0=A0 Yes, I agree that we could= look for them in the mebean server, or directly list them from tomcat inte= rnal classes, like what ActiveMQ now does.
=A0=A0 So, do we plan to use = the server.xml to maintaine the Tomcat configurations in the future ? If we= use the way what ActiveMQ does now, many portlets may not be used. For mai= ntaining those configurations in two places is not a good choice. And it me= ans that a big change occurs, the user may be used to add/remove connector = via portlet, I wish to keep those portlets, may be we could change those lo= gic behind the portlet, for example, just using JAXB to marshall/unmarshall= those connector settings to the server.xml.

=A0 2. In the server.xml, we may need some placeholders to use those= values in the config-subsitution.xml file

I agree with this idea.
=
=A0=A0=A0

=A0 3.= Many configurations used in the past could not be used, such as HostGBean,= ValveGBean ...etc

I left the entire s= et of old gbeans in place so that old style geronimo plans using these gbea= ns should continue to work.

Ivan :
=
=A0=A0 Let's take HostGBean as an example, it depends on the Engin= eGBean, but now=A0 we did not have EngineGBean, for all the objects are bui= lt in those JAXB classes. I have an idea, in those JAXB classes, create all= those GBeans dynamically, or shall we make those beans are GBeans and JAXB= Beans in the same time, not sure if it works, I have not tried it.

=A0=A0 ...
= =A0Any comment, or maybe I missed anything ?
=A0Thanks !
=A0

re the errors..... = I think I sometimes see this error and sometimes not but the server appears= to work for me anyway. =A0As you note above the console doesn't work f= or the new style configuration.
=A0=A0
=A0=A0 Ivan:
=A0=A0 Seems = that we need set the MBeanServer in the Registry, and also set the embedded= variable in the ContainerGBean, I will do the changes and commit them toda= y.
<= div>
thanks
david jencks


2009/6/15 Ivan= <xhhsld@gmail.com>
Hi, I paste some logs from my server build.
1. Not sure why ? I did not= do a further invesitigation, any comment !
---------->
2009-06-15= 03:04:35,346 INFO=A0 [SystemProperties] Setting Property=3Dorg.apache.cata= lina.STRICT_SERVLET_COMPLIANCE to Value=3Dtrue
2009-06-15 03:04:35,673 ERROR [ServerLifecycleListener] createMBeans: MBea= nException
java.lang.Exception: ManagedBean is not found with MBeanFacto= ry
=A0=A0=A0 at org.apache.catalina.mbeans.MBeanUtils.createMBean(MBeanU= tils.java:459)
=A0=A0=A0 at org.apache.catalina.mbeans.ServerLifecycleListener.createMBea= ns(ServerLifecycleListener.java:553)
=A0=A0=A0 at org.apache.catalina.mb= eans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:277)=
=A0=A0=A0 at org.apache.catalina.mbeans.ServerLifecycleListener.lifecyc= leEvent(ServerLifecycleListener.java:129)
=A0=A0=A0 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(= LifecycleSupport.java:117)
=A0=A0=A0 at org.apache.catalina.core.Standar= dServer.start(StandardServer.java:703)
=A0=A0=A0 at org.apache.geronimo.= tomcat.TomcatServerGBean.doStart(TomcatServerGBean.java:108)
=A0=A0=A0 at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstanc= e(GBeanInstance.java:948)
=A0=A0=A0 at org.apache.geronimo.gbean.runtime= .GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:269)
=A0=A0= =A0 at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInst= anceState.java:103)
=A0=A0=A0 at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRec= ursive(GBeanInstanceState.java:125)
=A0=A0=A0 at org.apache.geronimo.gbe= an.runtime.GBeanInstance.startRecursive(GBeanInstance.java:538)
=A0=A0= =A0 at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(Bas= icKernel.java:377)
=A0=A0=A0 at org.apache.geronimo.kernel.config.ConfigurationUtil.startConf= igurationGBeans(ConfigurationUtil.java:456)
=A0=A0=A0 at org.apache.gero= nimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationMana= ger.java:190)
=A0=A0=A0 at org.apache.geronimo.kernel.config.SimpleConfigurationManager.= startConfiguration(SimpleConfigurationManager.java:546)
=A0=A0=A0 at sun= .reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
=A0=A0=A0 at s= un.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl= .java:25)
=A0=A0=A0 at java.lang.reflect.Method.invoke(Method.java:585)
=A0=A0=A0= at org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Reflec= tionMethodInvoker.java:34)
=A0=A0=A0 at org.apache.geronimo.gbean.runtim= e.GBeanOperation.invoke(GBeanOperation.java:130)
=A0=A0=A0 at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanI= nstance.java:815)
=A0=A0=A0 at org.apache.geronimo.gbean.runtime.RawInvo= ker.invoke(RawInvoker.java:57)
=A0=A0=A0 at org.apache.geronimo.kernel.b= asic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
=A0=A0=A0 at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.inter= cept(ProxyMethodInterceptor.java:96)
=A0=A0=A0 at org.apache.geronimo.ke= rnel.config.EditableConfigurationManager$$EnhancerByCGLIB$$63df5cd5.startCo= nfiguration(<generated>)
=A0=A0=A0 at org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(Embe= ddedDaemon.java:161)
=A0=A0=A0 at org.apache.geronimo.system.main.Embedd= edDaemon.execute(EmbeddedDaemon.java:78)
=A0=A0=A0 at org.apache.geronim= o.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrap= per.java:45)
=A0=A0=A0 at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.j= ava:65)
=A0=A0=A0 at org.apache.geronimo.cli.daemon.DaemonCLI.main(Daemo= nCLI.java:30)
2009-06-15 03:04:35,705 INFO=A0 [StandardService] Starting= service Catalina
2009-06-15 03:04:35,729 WARN=A0 [MemoryUserDatabase] User database is not = persistable - no write permissions on directory
2009-06-15 03:04:36,874 = INFO=A0 [startup] Assembling app: /home/xuhaihong/geronimo/plugins/mejb/ger= onimo-mejb/target/geronimo-mejb-2..2-SNAPSHOT.jar
<--------------

2. Some Null PointerException while adding the c= onnector via GBean. Seems that the new ServerGBean also need to have a gerS= ervice method, and save the reference to the embbed variable of ContainerGB= ean. Or those functions in the portlet are not work. I will do this change.=

Thanks !
Ivan
2009/6/15 Ivan <xhhsld@= gmail.com>

Tomcat-ext from https://re= pository.apache.org/content/repositories/snapshots/org/apache/geronimo/ext/= tomcat/.
I added the url https://r= epository.apache.org/content/repositories/snapshots to my local pom.xml= , then I could build the whole Geronimo server.
By the way, the server failed to start, I am trying to find why.
=

Thanks !
Ivan

2009/6/15= David Jencks <david_jencks@yahoo.com>

On Jun 14, 2009, at 11:15 PM, Ivan wrote:

See, I got those artifacts from that url,

= which artifacts from which url?

So do we need to add this url to the pom.xml of Geronimo's root fold= er. I found that it is comment out in that file ?

Which url? =A0the apache nexus snap= shot repo is already in the apache 6 root pom. =A0It looks like some of the= links on the index page at
http://repository.apache.org/snapshots<= /div>
don't work but typing in more of a url seems to get to the right = content.

thanks
david jencks
<= div>



Thanks !
Ivan

2009/6/15 David Jencks = <david_jencks@yahoo.com>

On Jun 14, 2009, at 8:30 PM, Ivan wrote:

=
In which snapshot site, I could find the tomcat = build ? I have checked the people, not found.


This is in the apache 6 pom... are you having trouble= accessing it from china?

Then I tried to build them on my local machine, some errors occured, is t= here any option that I could set ? (I just run 'mvn install')

Don't build the archetype directly.= ... run ./build-archetype.sh. =A0It only works on unix like systems.
<= div>
did you check out =A0this?

For the tomcat-archetype, it sai= d that org.eclipse.jdt:core:jar:3.2.3.v_686_R32x could not be found

that's odd, I thought my local nexus foun= d it in maven central repo but it's not there now. =A0I'll update i= t to=A03.3.0-v_771

For the tomcat-parent-= 6.0.18, it said
--->
/home/xuhaihong/external/tomcat-parent-6.0.1= 8/catalina/src/main/java/org/apache/catalina/core/DefaultInstanceManager.ja= va:[42,20] package javax.= xml.ws does not exist

I was compiling on java 6. =A0I'll = add geronimo-jaxws_2.1_spec

Thanks for trying it o= ut, let me know if there are more problems!
david jencks


/home/xuhaihong/e= xternal/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/ses= sion/StandardSession.java:[47,26] [deprecation] javax.servlet.http.HttpSess= ionContext in javax.servlet.http has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[26,26] [deprecation= ] javax.servlet.http.HttpSessionContext in javax.servlet.http has been depr= ecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSession.java:[268,21] [deprecation] jav= ax.servlet.http.HttpSessionContext in javax.servlet.http has been deprecate= d

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[104,11] [deprecatio= n] javax.servlet.http.HttpSessionContext in javax.servlet.http has been dep= recated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/StandardWrapper.java:[43,21] [deprecation] javax.s= ervlet.SingleThreadModel in javax.servlet has been deprecated

/home/= xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/c= oyote/Response.java:[477,43] [deprecation] isSpace(char) in java.lang.Chara= cter has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/connector/Response.java:[756,47] [deprecation] isSpace(= char) in java.lang.Character has been deprecated

/home/xuhaihong/ext= ernal/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/conne= ctor/Connector.java:[1012,36] [deprecation] encode(java.lang.String) in jav= a.net.URLEncoder has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DefaultInstanceManager.java:[263,53] cannot find s= ymbol
symbol=A0 : class WebServiceRef
location: class org.apache.cata= lina.core.DefaultInstanceManager

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DefaultInstanceManager.java:[264,20] cannot find s= ymbol
symbol=A0 : class WebServiceRef
location: class org.apache.cata= lina.core.DefaultInstanceManager

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DefaultInstanceManager.java:[265,44] cannot find s= ymbol
symbol=A0 : class WebServiceRef
location: class org.apache.cata= lina.core.DefaultInstanceManager

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DefaultInstanceManager.java:[295,54] cannot find s= ymbol
symbol=A0 : class WebServiceRef
location: class org.apache.cata= lina.core.DefaultInstanceManager

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DefaultInstanceManager.java:[296,20] cannot find s= ymbol
symbol=A0 : class WebServiceRef
location: class org.apache.cata= lina.core.DefaultInstanceManager

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DefaultInstanceManager.java:[297,45] cannot find s= ymbol
symbol=A0 : class WebServiceRef
location: class org.apache.cata= lina.core.DefaultInstanceManager

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/jk/common/JniHandler.java:[170,30] [deprecation] MsgContext() in= org.apache.jk.core.MsgContext has been deprecated

/home/xuhaihong/e= xternal/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/Jn= iHandler.java:[171,23] [deprecation] MsgAjp() in org.apache.jk.common.MsgAj= p has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DummyResponse.java:[122,16] [deprecation] setStatu= s(int,java.lang.String) in javax.servlet.http.HttpServletResponse has been = deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DummyResponse.java:[111,18] [deprecation] encodeRe= directUrl(java.lang.String) in javax.servlet.http.HttpServletResponse has b= een deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DummyResponse.java:[113,18] [deprecation] encodeUr= l(java.lang.String) in javax.servlet.http.HttpServletResponse has been depr= ecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DummyRequest.java:[258,19] [deprecation] isRequest= edSessionIdFromUrl() in javax.servlet.http.HttpServletRequest has been depr= ecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/DummyRequest.java:[205,18] [deprecation] getRealPa= th(java.lang.String) in javax.servlet.ServletRequest has been deprecated
/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[144,16] [deprecatio= n] removeValue(java.lang.String) in javax.servlet.http.HttpSession has been= deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[134,16] [deprecatio= n] putValue(java.lang.String,java.lang.Object) in javax.servlet.http.HttpSe= ssion has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[124,20] [deprecatio= n] getValueNames() in javax.servlet.http.HttpSession has been deprecated
/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[114,18] [deprecatio= n] getValue(java.lang.String) in javax.servlet.http.HttpSession has been de= precated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[104,30] [deprecatio= n] getSessionContext() in javax.servlet.http.HttpSession has been deprecate= d

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[105,22] [deprecatio= n] getSessionContext() in javax.servlet.http.HttpSession has been deprecate= d

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/session/StandardSessionFacade.java:[125,22] [deprecatio= n] getValueNames() in javax.servlet.http.HttpSession has been deprecated
/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/jk/common/ChannelSocket.java:[786,36] [deprecation] encode(java.= lang.String) in java.net.URLEncoder has been deprecated

/home/xuhaih= ong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalin= a/ssi/ResponseIncludeWrapper.java:[39,7] [deprecation] setStatus(int,java.l= ang.String) in javax.servlet.http.HttpServletResponse has been deprecated
/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/ssi/ResponseIncludeWrapper.java:[39,7] [deprecation] en= codeRedirectUrl(java.lang.String) in javax.servlet.http.HttpServletResponse= has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/ssi/ResponseIncludeWrapper.java:[39,7] [deprecation] en= codeUrl(java.lang.String) in javax.servlet.http.HttpServletResponse has bee= n deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/jk/common/ChannelUn.java:[299,24] [deprecation] MsgAjp() in org.= apache.jk.common.MsgAjp has been deprecated

/home/xuhaihong/external= /tomcat-parent-6.0.18/catalina/src/main/java/org/apache/jk/common/ChannelUn= .java:[353,36] [deprecation] encode(java.lang.String) in java.net.URLEncode= r has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationHttpResponse.java:[339,16] [deprecation= ] setStatus(int,java.lang.String) in javax.servlet.http.HttpServletResponse= has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationHttpResponse.java:[48,0] [deprecation] = encodeRedirectUrl(java.lang.String) in javax.servlet.http.HttpServletRespon= se has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationHttpResponse.java:[48,0] [deprecation] = encodeUrl(java.lang.String) in javax.servlet.http.HttpServletResponse has b= een deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationHttpResponse.java:[342,12] [deprecation= ] setStatus(int,java.lang.String) in javax.servlet.http.HttpServletResponse= has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/jk/common/WorkerDummy.java:[58,16] [deprecation] MsgAjp() in org= .apache.jk.common.MsgAjp has been deprecated

/home/xuhaihong/externa= l/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/manager/u= til/SessionUtils.java:[121,101] non-varargs call of varargs method with ine= xact argument type for last parameter;
cast to java.lang.Class for a varargs call
cast to java.lang.Class[] f= or a non-varargs call and to suppress this warning

/home/xuhaihong/e= xternal/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/man= ager/util/SessionUtils.java:[124,94] non-varargs call of varargs method wit= h inexact argument type for last parameter;
cast to java.lang.Object for a varargs call
cast to java.lang.Object[]= for a non-varargs call and to suppress this warning

/home/xuhaihong= /external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/htt= p11/Http11NioProtocol.java:[349,36] [deprecation] encode(java.lang.String) = in java.net.URLEncoder has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/tomcat/util/net/jsse/JSSEImplementation.java:[64,22] [deprecatio= n] getSSLSupport(javax.net.ssl.SSLSession) in org.apache.tomcat.util.net.SS= LImplementation has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/tomcat/util/net/jsse/JSSEImplementation.java:[64,22] [deprecatio= n] getSSLSupport(javax.net.ssl.SSLSession) in org.apache.tomcat.util.net.SS= LImplementation has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/servlets/InvokerHttpRequest.java:[36,0] [deprecation] g= etRealPath(java.lang.String) in javax.servlet.ServletRequest has been depre= cated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/servlets/InvokerHttpRequest.java:[36,0] [deprecation] i= sRequestedSessionIdFromUrl() in javax.servlet.http.HttpServletRequest has b= een deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/servlets/InvokerHttpRequest.java:[36,0] [deprecation] g= etRealPath(java.lang.String) in javax.servlet.ServletRequest has been depre= cated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/StandardWrapper.java:[1110,51] [deprecation] javax= .servlet.SingleThreadModel in javax.servlet has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/a= pache/coyote/ajp/AjpAprProtocol.java:[236,36] [deprecation] encode(java.lan= g.String) in java.net.URLEncoder has been deprecated

/home/xuhaihon= g/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/coyote/ht= tp11/Http11Protocol.java:[250,36] [deprecation] encode(java.lang.String) in= java.net.URLEncoder has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/or= g/apache/catalina/startup/SetNextNamingRule.java:[84,16] [deprecation] end(= ) in org.apache.tomcat.util.digester.Rule has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/ap= ache/coyote/ajp/AjpProtocol.java:[235,36] [deprecation] encode(java.lang.St= ring) in java.net.URLEncoder has been deprecated

/home/xuhaihong/ext= ernal/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/core/= ApplicationHttpRequest.java:[61,0] [deprecation] getRealPath(java.lang.Stri= ng) in javax.servlet.ServletRequest has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationHttpRequest.java:[61,0] [deprecation] i= sRequestedSessionIdFromUrl() in javax.servlet.http.HttpServletRequest has b= een deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationHttpRequest.java:[61,0] [deprecation] g= etRealPath(java.lang.String) in javax.servlet.ServletRequest has been depre= cated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/startup/ConnectorCreateRule.java:[49,16] [deprecation] = begin(org.xml.sax.Attributes) in org.apache.tomcat.util.digester.Rule has b= een deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/startup/ConnectorCreateRule.java:[70,16] [deprecation] = end() in org.apache.tomcat.util.digester.Rule has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/= apache/catalina/valves/ExtendedAccessLogValve.java:[410,29] [deprecation] e= ncode(java.lang.String) in java.net.URLEncoder has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/= apache/catalina/connector/CoyoteAdapter.java:[626,24] [deprecation] convert= (org.apache.tomcat.util.buf.ByteChunk,org.apache.tomcat.util.buf.CharChunk)= in org.apache.tomcat.util.buf.B2CConverter has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/jk/common/ChannelNioSocket.java:[733,36] [deprecation] encode(ja= va.lang.String) in java.net.URLEncoder has been deprecated

/home/xuh= aihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/cata= lina/core/ApplicationRequest.java:[49,0] [deprecation] getRealPath(java.lan= g.String) in javax.servlet.ServletRequest has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationContextFacade.java:[256,16] [deprecatio= n] log(java.lang.Exception,java.lang.String) in javax.servlet.ServletContex= t has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationContextFacade.java:[238,23] [deprecatio= n] getServletNames() in javax.servlet.ServletContext has been deprecated
/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationContextFacade.java:[229,23] [deprecatio= n] getServlets() in javax.servlet.ServletContext has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java= /org/apache/catalina/core/ApplicationContextFacade.java:[211,19] [deprecati= on] getServlet(java.lang.String) in javax.servlet.ServletContext has been d= eprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationContextFacade.java:[224,26] [deprecatio= n] getServlet(java.lang.String) in org.apache.catalina.core.ApplicationCont= ext has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationContextFacade.java:[233,26] [deprecatio= n] getServlets() in org.apache.catalina.core.ApplicationContext has been de= precated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationContextFacade.java:[242,26] [deprecatio= n] getServletNames() in org.apache.catalina.core.ApplicationContext has bee= n deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/core/ApplicationContextFacade.java:[261,19] [deprecatio= n] log(java.lang.Exception,java.lang.String) in org.apache.catalina.core.Ap= plicationContext has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/coyote/http11/Http11AprProtocol.java:[184,36] [deprecation] enco= de(java.lang.String) in java.net.URLEncoder has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/org/a= pache/catalina/startup/WebRuleSet.java:[754,16] [deprecation] end() in org.= apache.tomcat.util.digester.Rule has been deprecated

/home/xuhaihon= g/external/tomcat-parent-6.0.18/catalina/src/main/java/org/apache/catalina/= startup/WebRuleSet.java:[866,16] [deprecation] body(java.lang.String) in or= g.apache.tomcat.util.digester.Rule has been deprecated

/home/xuhaihong/external/tomcat-parent-6.0.18/catalina/src/main/java/= org/apache/catalina/startup/WebRuleSet.java:[890,16] [deprecation] body(jav= a.lang.String) in org.apache.tomcat.util.digester.Rule has been deprecated<= br>

[INFO] ----------------------------------------------------------= --------------
[INFO] For more information, run Maven with the -e switch=
[INFO] ----------------------------------------------------------------= --------
[INFO] Total time: 15 seconds
[INFO] Finished at: Sun Jun 14 23:34:06 = EDT 2009
[INFO] Final Memory: 54M/352M
[INFO] -----------------------= -------------------------------------------------

<---
Thanks = !
=A0=A0=A0 Ivan

2009/6/14 David Jencks <= span dir=3D"ltr"><david_jencks@yahoo.com>
I pushed a snapshot of our new tomcat build earlier today and just commit= ted the server.xml changes to trunk. =A0With a little luck I won't have= made the build significantly more broken.

thanks
david jencks




On Jun 12, 2009, at 11:21 AM, David J= encks wrote:


On Jun 12, 2009, at 10:51 AM, Kevan Miller wrote:


On Jun 5, 2009, at 3= :00 AM, David Jencks wrote:


On J= un 3, 2009, at 10:35 PM, Kevan Miller wrote:


On Jun 2, 2009, at 6:46 PM, David Jencks wrote:

<snip>= ;

I pla= yed with something like this on the plane today..... it might not take more= that a couple days to get _something_ working that interprets server.xml f= iles. =A0It turns out there's no schema for tomcat configurations so it= may be an adventure interpreting the same files they do.

We might be able to copy their digester configuration but replace de= faults with geronimo classes instead of tomcat classes. =A0I find digester = grammar so hard to understand however that I started by generating a schema= from a sample file and modifying it to fit the digeter rules.

My current idea is to have a TomcatServerGBean that has a server.xml= as an attribute, which it reads into a jaxb tree, which we call a "co= nstruct(ClassLoader cl)" method on to set up the tomcat objects. =A0If= this works it should be fairly easy.... no idea if it will actually work t= hough.

Next step would be a builder that, given a server.xml, sets up such = a gbean.

Sounds interesting. IIUC, this embedded Tom= cat instance replaces our current embedded Tomcat. It improves our ability = to configure this instance -- it's native Tomcat config.

Are you thinking about all configuration files? E.g. WEB-INF/context= .xml, conf/context.xml? There are catalina.policy, catalina.properties, tom= cat-users.xml, also. Hmm. gets a little messier...

I have enough working now so I can run the admin console on a server set = up this way. =A0I haven't looked at any files other than server.xml yet= . =A0Some like tomcat-users.xml are for a security realm we aren't goin= g to use or, probably, support using. =A0Not sure about the others.

Cool. Can you point me to the code?
=
I'm hoping to get it checked in today. =A0I have a bunch of stuff = intertwined locally so this involves figuring out where to put our tomcat b= uild in svn and pushing a snapshot for it first. =A0I still don't have = a good idea where in svn to put builds of other projects. =A0I guess I'= ll use "external" and we can move it if anyone has a better idea.=

thanks
david jencks



--kevan



--
Ivan



=
--
Ivan




--
Ivan<= br>



--
= Ivan



--
Ivan




--
Ivan
--0022152d820d02570e046c6d9d5a--