THALES GROUP LIMITED DISTRIBUTION to email recipients

Hello everyone,

A person who has left the company add this line in the catalina.properties file:
org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource

Reading at Tomcat 8.5 doc, I found this
org.apache.tomcat.util.digester.PROPERTY_SOURCE : Set this to a comma separated 
list of fully qualified name of classes that implement 
org.apache.tomcat.util.IntrospectionUtils.PropertySource.
Required to have a public constructor with no arguments.

Possible value: org.apache.tomcat.util.digester.EnvironmentPropertySource and 
not org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource
as the person set it.

org.apache.tomcat.util.digester.EnvironmentPropertySource can be used to 
replace parameters from the process' environment variables, e.g. injected 
ConfigMaps or Secret objects in container based systems like OpenShift or 
Kubernetes.

Do you think that this person has made a mistake?

The funny thing is that with TomEE Plus 8.0.16, the last sections of 
catalina.properties looks like below
# String cache configuration.
tomcat.util.buf.StringCache.byte.enabled=true
#tomcat.util.buf.StringCache.char.enabled=true
#tomcat.util.buf.StringCache.trainThreshold=500000
#tomcat.util.buf.StringCache.cacheSize=5000

# Disable use of some privilege blocks Tomcat doesn't need since calls to the
# code in question are always already inside a privilege block
org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED=false
org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource
and I got no error 😊

With TomEEFull 9.1.2, the last section looks like below:
# String cache configuration.
tomcat.util.buf.StringCache.byte.enabled=true
#tomcat.util.buf.StringCache.char.enabled=true
#tomcat.util.buf.StringCache.trainThreshold=500000
#tomcat.util.buf.StringCache.cacheSize=5000
org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource

This time I got some errors like

  *   16-Feb-2024 08:35:34.848 SEVERE [main] 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke Error loading property 
source [org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource]
java.lang.ClassNotFoundException: 
org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource

I don’t understand why I got no error with TomEE Plus 8.0.16 because in each 
case the class 
org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource
doesn’t exist. I was not able to find it (it should be in the 
tomcat-util-scan.jar).

So my guess is that this guy did a mistake by setting the property 
org.apache.tomcat.util.digester.PROPERTY_SOURCE to 
org.apache.tomcat.util.digester.Digester$EnvironmentPropertySource
instead of org.apache.tomcat.util.digester.EnvironmentPropertySource.
Do you agree ?

Best Regards.



Reply via email to