geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Tomcat Valves in Geronimo
Date Sun, 24 Sep 2006 19:02:03 GMT
I _strongly_ recommend you start with the recently released 1.1.1.  I  
think there's a bug in 1.0 that is obscuring a useful error message....

Anyway, there's at least one error I can see in your config.xml  
modification: specifying the class attribute doesn't work, you need  
to specify the gbeanInfo attribute.

It's not at all clear to me why you are replacing the tomcat engine.   
I think that in order to get anything except your valves hooked up to  
a new tomcat engine you would also have to modify or replace the  
connectors.

In any case, at least in 1.1.1, the first valve you want is already  
hooked up to the existing tomcat engine.  I think all you need to do  
is add a gbean config for the second valve and a reference from the  
first valve to the second valve.  I think it would look like this:


     <module name="geronimo/tomcat/${pom.currentVersion}/car">
         <!-- To disable accesslogging uncomment the following lines
         <gbean name="TomcatEngine">
             <reference name="TomcatValveChain" />
         </gbean>
-->
         <gbean name="FirstValve">
     <attribute name="initParams">
         prefix=apenootjes
         suffix=.txt
         pattern=common
     </attribute>
<!-- modify the reference to point to the second valve -->
            <reference name="NextValve">SecondValve</reference>
         </gbean>

<!-- this creates the second valve -->
     <gbean name="geronimo/tomcat/1.1.1/car?ServiceModule=geronimo/ 
tomcat/1.1.1/car,j2eeType=GBean,name=SecondValve"  
gbeanInfo="org.apache.geronimo.tomcat.ValveGBean">
         <attribute  
name="className">org.apache.catalina.valves.RemoteAddrValve</attribute>
     <attribute name="initParams">
         allow=127.0.0.1,10.0.0.*
         deny=*
     </attribute>
     </gbean>

         <gbean name="TomcatResources"/>
         <gbean name="TomcatWebConnector">
             <attribute name="host">${PlanServerHostname}</attribute>
             <attribute name="port">${PlanHTTPPortPrimary}</attribute>
             <attribute name="redirectPort">${PlanHTTPSPortPrimary}</ 
attribute>
         </gbean>
         <gbean name="TomcatAJPConnector">
             <attribute name="host">${PlanServerHostname}</attribute>
             <attribute name="port">${PlanAJPPortPrimary}</attribute>
             <attribute name="redirectPort">${PlanHTTPSPortPrimary}</ 
attribute>
         </gbean>
         <gbean name="TomcatWebSSLConnector">
             <attribute name="host">${PlanServerHostname}</attribute>
             <attribute name="port">${PlanHTTPSPortPrimary}</attribute>
         </gbean>
     </module>


If you can get it to work, would you consider writing up something  
and putting it on the wiki near
http://cwiki.apache.org/GMOxDOC11/apache-geronimo-v11-users-guide.html

?

Many thanks
david jencks

On Sep 24, 2006, at 2:14 AM, Rik wrote:

> Hello,
>
> Thanks for the responses,
>
> I've tried geronimo 1.0 as included in SuSE 10.1 and Geronimo 1.1 from
> geronimo.apache.org.
> In version 1.0, I added the following lines to config.xml:
>
>   <configuration name="geronimo/tomcat/1.0/car">
>     <gbean name="TomcatResources">
>     </gbean>
>     <gbean name="TomcatWebConnector">
>       <attribute name="host">0.0.0.0</attribute>
>       <attribute name="port">8080</attribute>
>       <attribute name="redirectPort">8443</attribute>
>     </gbean>
>     <gbean name="TomcatAJPConnector">
>       <attribute name="host">0.0.0.0</attribute>
>       <attribute name="port">8009</attribute>
>       <attribute name="redirectPort">8443</attribute>
>     </gbean>
>     <gbean name="TomcatWebSSLConnector">
>       <attribute name="host">0.0.0.0</attribute>
>       <attribute name="port">8443</attribute>
>     </gbean>
>     <gbean
> name="geronimo.server:J2EEApplication=null,J2EEModule=geronimo/ 
> tomcat/1.0/ca
> r,J2EEServer=geronimo,j2eeType=GBean,name=TomcatWebContainer">
>       <attribute name="catalinaHome">var/catalina</attribute>
> <!-- change 1 -->
>       <reference name="EngineGBean">
>         <name>tomcat_engine</name>
>       </reference>
> <!-- /change 1 -->
>     </gbean>
>
> <!-- change 2 -->
>     <gbean gbeanInfo="org.apache.geronimo.tomcat.EngineGBean"
> name="geronimo/tomcat/1.1/car?ServiceModule=geronimo/tomcat/1.1/ 
> car,j2eeType
> =GBean,name=tomcat_engine">
>       <attribute
> name="className">org.apache.geronimo.tomcat.TomcatEngine</attribute>
>       <attribute name="initParams"></attribute>
>       <reference name="EngineGBean">
>         <name>TomcatEngine</name>
>       </reference>
>
>     <reference name="TomcatValveChain">
>       <name>FirstValve</name>
>     </reference>
>     </gbean>
>
> <gbean name="FirstValve"  
> class="org.apache.geronimo.tomcat.ValveGBean">
>     <attribute
> name="className">org.apache.catalina.valves.AccessLogValve</attribute>
>     <attribute name="initParams">
>         prefix=apenootjes
>         suffix=.txt
>         pattern=common
>     </attribute>
>     <reference name="NextValve">
>         <name>SecondValve</name>
>     </reference>
> </gbean>
>
> <gbean name="SecondValve"  
> class="org.apache.geronimo.tomcat.ValveGBean">
>     <attribute
> name="className">org.apache.catalina.valves.RemoteAddrValve</ 
> attribute>
>     <attribute name="initParams">
>         allow=127.0.0.1,10.0.0.*
>         deny=*
>     </attribute>
> </gbean>
> <!-- /change 2 -->
>   </configuration>
>
>
> Booting Geronimo Kernel (in Java 1.4.2_11)...
> 10:42:39,551 ERROR [GBeanInstanceState] Error while starting; GBean  
> is now
> in the FAILED state:
> objectName="geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j 
> 2ee-sy
> stem/1.0/ 
> car,J2EEServer=geronimo,j2eeType=AttributeStore,name=AttributeManag
> er"
> java.lang.NullPointerException
>         at
> org.apache.geronimo.system.configuration.GBeanOverride.<init> 
> (GBeanOverride.
> java:128)
>         at
> org.apache.geronimo.system.configuration.ConfigurationOverride.<init>( 
> Config
> urationOverride.java:51)
>         at
> org.apache.geronimo.system.configuration.ServerOverride.<init> 
> (ServerOverrid
> e.java:41)
>         at
> org.apache.geronimo.system.configuration.LocalAttributeManager.load 
> (LocalAtt
> ributeManager.java:323)
>         at
> org.apache.geronimo.system.configuration.LocalAttributeManager.doStart 
> (Local
> AttributeManager.java:419)
>         at
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance 
> (GBeanInstance
> .java:936)
>         at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
> GBeanI
> nstanceState.java:325)
>         at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
> (GBeanInstanceStat
> e.java:110)
>         at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive 
> (GBeanIns
> tanceState.java:132)
>         at
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive 
> (GBeanInstance
> .java:537)
>         at
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean 
> (BasicKernel
> .java:208)
>         at
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans 
> (Configu
> ration.java:315)
>         at
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$ 
> $7f4b4a9b.
> invoke(<generated>)
>         at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>         at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
> (FastMethodInvoker
> .java:38)
>         at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
> (GBeanOperation.java:
> 118)
>         at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:83
> 5)
>         at
> org.apache.geronimo.kernel.basic.BasicKernel.invoke 
> (BasicKernel.java:178)
>         at
> org.apache.geronimo.kernel.basic.BasicKernel.invoke 
> (BasicKernel.java:173)
>         at org.apache.geronimo.system.main.Daemon.doStartup 
> (Daemon.java:286)
>         at org.apache.geronimo.system.main.Daemon.<init> 
> (Daemon.java:82)
>         at org.apache.geronimo.system.main.Daemon.main(Daemon.java: 
> 404)
> Server Startup failed
>
>
> ________________________________
>
> From: David Jencks [mailto:david_jencks@yahoo.com]
> Sent: Sunday, September 24, 2006 12:37 AM
> To: user@geronimo.apache.org
> Subject: Re: Tomcat Valves in Geronimo
>
>
>
> On Sep 23, 2006, at 3:05 PM, Rik wrote:
>
>
> 		Hello All,
>
> 		I've been quite impressed with certain features of Geronimo,
> notably the pleasant, simple admin console and the speed of  
> installing and
> restarting applications. However I have been unsuccessful in my  
> attempts to
> configure the version of Tomcat embedded in the release.
>
> 	
> Thanks for the complement!
>
> It might not be easy to change the tomcat version.  Knowing which  
> geronimo
> release you are working with would be helpful in thinking about  
> what you
> might do.  Out of curiousity why do you want to change the tomcat  
> version?
>
>
> 			I have been trying to configure tomcat valves; the
> JDBCAccessLogValve and RemoteAddrValve. I found some examples on  
> the IBM
> website and in the geronimo documentation, but couldn't get them to  
> work.
>
> 	
> This should definitely work without changing which tomcat you are  
> using.
> Did you get errors or just no effect?  Showing what you did to  
> install them
> and the results would be helpful.
>
> thanks
> david jencks
>
>
> 			Embarrassingly I've not been successful trying to
> compile the sources from the trunk either, which keeps compaining  
> about
> missing resources. I'm pretty sure I've followed the directions in the
> documentation.
>
> 	Is there someone who has the time to walk this newbie through the
> configuration and building process?
>
> 		Thanks,
>
> 		Rick
>
>
> 	
>


Mime
View raw message