Árvore de páginas

CONTEÚDO

  1. O que são as Libs Centralizadas no TOMCAT Datasul?
  2. Catalina.properties
  3. Context.xml
  4. Server.xml

01. O que são as Libs Centralizadas no TOMCAT Datasul

Os arquivos WARs que expedimos ocupam um bom espaço em disco, tendo em média 33 MB cada, e boa parte disso são arquivos JAR de terceiros e até mesmo arquivos JAR criados por nós, que são dependências de um projeto ou vários.

Essa situação pode ser melhorada centralizando essas dependências em um pasta destinada a armazenar essas dependências.

Os arquivos dessa pasta são carregados no momento em que o TOMCAT é iniciado.

Vantagens em utilizar-se as Libs Centralizadas:

  • Eliminar as ocorrências repetidas em vários WARs (Projetos);
  • Diminuir o espaço em disco ocupado pelo produto;
  • Diminuir o consumo de memória;
  • Vai permitir o hotdeploy dos projetos web (negócio);
  • Aumentar a performance do produto;
  • Garante que todos os WAR estão utilizando a mesma versão da dependência;
  • Facilita a atualização de versão da dependência, já que está em um único local;
  • Torna a administração do ambiente mais simples.

02. Catalina.properties

  1. Alterar a propriedade common.loader, conforme abaixo:

    Antes
    common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar".
    Depois
    common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/lib/datasul","${catalina.home}/lib/datasul/*.jar","${catalina.base}/lib/datasul","${catalina.base}/lib/datasul/*.jar","${catalina.base}/lib/batik","${catalina.base}/lib/batik/*.jar","${catalina.home}/lib/batik","${catalina.home}/lib/batik/*.jar"



  2. Alterar a propriedade tomcat.util.scan.StandardJarScanFilter.jarsToSkip, conforme abaixo:

    Antes
    tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
    annotations-api.jar,\
    ant-junit*.jar,\
    ant-launcher.jar,\
    ant.jar,\
    asm-*.jar,\
    aspectj*.jar,\
    bootstrap.jar,\
    catalina-ant.jar,\
    catalina-ha.jar,\
    catalina-ssi.jar,\
    catalina-storeconfig.jar,\
    catalina-tribes.jar,\
    catalina.jar,\
    cglib-*.jar,\
    cobertura-*.jar,\
    commons-beanutils*.jar,\
    commons-codec*.jar,\
    commons-collections*.jar,\
    commons-daemon.jar,\
    commons-dbcp*.jar,\
    commons-digester*.jar,\
    commons-fileupload*.jar,\
    commons-httpclient*.jar,\
    commons-io*.jar,\
    commons-lang*.jar,\
    commons-logging*.jar,\
    commons-math*.jar,\
    commons-pool*.jar,\
    derby-*.jar,\
    dom4j-*.jar,\
    easymock-*.jar,\
    ecj-*.jar,\
    el-api.jar,\
    geronimo-spec-jaxrpc*.jar,\
    h2*.jar,\
    ha-api-*.jar,\
    hamcrest-*.jar,\
    hibernate*.jar,\
    httpclient*.jar,\
    icu4j-*.jar,\
    jasper-el.jar,\
    jasper.jar,\
    jaspic-api.jar,\
    jaxb-*.jar,\
    jaxen-*.jar,\
    jaxws-rt-*.jar,\
    jdom-*.jar,\
    jetty-*.jar,\
    jmx-tools.jar,\
    jmx.jar,\
    jsp-api.jar,\
    jstl.jar,\
    jta*.jar,\
    junit-*.jar,\
    junit.jar,\
    log4j*.jar,\
    mail*.jar,\
    objenesis-*.jar,\
    oraclepki.jar,\
    oro-*.jar,\
    servlet-api-*.jar,\
    servlet-api.jar,\
    slf4j*.jar,\
    taglibs-standard-spec-*.jar,\
    tagsoup-*.jar,\
    tomcat-api.jar,\
    tomcat-coyote.jar,\
    tomcat-dbcp.jar,\
    tomcat-i18n-*.jar,\
    tomcat-jdbc.jar,\
    tomcat-jni.jar,\
    tomcat-juli-adapters.jar,\
    tomcat-juli.jar,\
    tomcat-util-scan.jar,\
    tomcat-util.jar,\
    tomcat-websocket.jar,\
    tools.jar,\
    websocket-api.jar,\
    wsdl4j*.jar,\
    xercesImpl.jar,\
    xml-apis.jar,\
    xmlParserAPIs-*.jar,\
    xmlParserAPIs.jar,\
    xom-*.jar
    Depois
    tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar



  3. Alterar a propriedade tomcat.util.scan.StandardJarScanFilter.jarsToScan, conforme abaixo:


    Antes
    tomcat.util.scan.StandardJarScanFilter.jarsToScan=\
    log4j-taglib*.jar,\
    log4j-web*.jar,\
    log4javascript*.jar,\
    slf4j-taglib*.jar
    Depois
    tomcat.util.scan.StandardJarScanFilter.jarsToScan=\
    log4j-taglib*.jar,\
    log4j-web*.jar,\
    log4javascript*.jar,\
    slf4j-taglib*.jar,\
    spring-webmvc*.jar,\
    totvs*.jar,\
    jstl*.jar

03. Context.xml

  1. Alterar a TAG <Context>, conforme abaixo:

    Antes
    <Context crossContext="true">
    Depois
    <Context crossContext="true" swallowOutput="true" sessionCookiePath="/">



  2. Ainda dentro da TAG <Context>, incluir a seguinte TAG <JarScanner> conforme abaixo:

    <Context crossContext="true" swallowOutput="true" sessionCookiePath="/">
    
        <JarScanner>
            <JarScanFilter tldSkip="*.jar" tldScan="log4j-taglib*.jar,log4j-web*.jar,log4javascript*.jar,slf4j-taglib*.jar,spring-webmvc*.jar,jstl*.jar"/>
        </JarScanner>
    
    	...
    	
    </Context>

04. Server.xml

  1. Alterar a TAG <HOST>, incluindo uma nova TAG <Valve>, conforme abaixo:

    Antes
    <Host name="localhost"  appBase="webapps" startStopThreads="20"
    	unpackWARs="true" autoDeploy="true">
    	
    	...
    	   
    </Host>
    Depois
    <Host name="localhost"  appBase="webapps" startStopThreads="20"
    	unpackWARs="true" autoDeploy="true">
    
    	...
    		   
    	<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
    
    </Host>