Как развернуть несколько приложений в Tomcat, совместно использовать файлы jar и использовать разные источники данных? - PullRequest
9 голосов
/ 12 декабря 2011

Я хочу развернуть три веб-приложения Grails в контейнере Tomcat. Я использую Grails 1.3.7 и Tomcat 7.0.23. Я хочу поместить все файлы jars в каталог tomcat / shared / lib. Зачем? Я хочу иметь меньшие военные файлы и уменьшить объем памяти, необходимый для PermGen.

Я настраиваю следующую строку в conf / catalina.properites

shared.loader=${catalina.base}/shared/lib,${catalina.base}/shared/lib/*.jar

Для всех трех приложений я выполняю

  grails war

Я копирую все * .jars из WEB-INF / lib в $ CATALINA_HOME / shared / lib

Позже я генерирую файлы war без jar-файлов для каждого приложения

grails war --nojars

Я поместил все три войны в каталог tomcat / webapps . Производственный источник данных в conf / DataSource.groovy выглядит следующим образом для каждого приложения.

Приложение A)

   production {
        dataSource {
            dbCreate = "update"
            username = "userA"
            password="password"
            url = "jdbc:mysql://localhost:3306/applicationA"
            driverClassName = "org.gjt.mm.mysql.Driver"
        }
    }

Приложение B)

   production {
        dataSource {
            dbCreate = "update"
            username = "userB"
            password="password"
            url = "jdbc:mysql://localhost:3306/applicationB"
            driverClassName = "org.gjt.mm.mysql.Driver"
        }
    }

Приложение C)

   production {
        dataSource {
            dbCreate = "update"
            username = "userC"
            password="password"
            url = "jdbc:mysql://localhost:3306/applicationC"
            driverClassName = "org.gjt.mm.mysql.Driver"
        }
    }

Когда я запускаю Tomcat, логи выглядят так:

Dec 11, 2011 11:28:15 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Dec 11, 2011 11:28:15 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
Dec 11, 2011 11:28:15 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
Dec 11, 2011 11:28:15 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
Dec 11, 2011 11:28:15 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Dec 11, 2011 11:28:15 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Dec 11, 2011 11:28:15 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 652 ms
Dec 11, 2011 11:28:15 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Dec 11, 2011 11:28:15 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
Dec 11, 2011 11:28:16 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:22 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationB-0.1war
Dec 11, 2011 11:28:22 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:23 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationA-0.1war
Dec 11, 2011 11:28:23 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:24 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationC-0.1war
Dec 11, 2011 11:28:24 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/docs
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/examples
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Dec 11, 2011 11:28:25 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Dec 11, 2011 11:28:25 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Dec 11, 2011 11:28:25 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@5f24aa56')
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/host-manager
Dec 11, 2011 11:28:25 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/manager
Dec 11, 2011 11:28:25 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:26 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationB-0.1war
Dec 11, 2011 11:28:26 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:26 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationA-0.1war
Dec 11, 2011 11:28:26 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:27 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationC-0.1war
Dec 11, 2011 11:28:27 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:27 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/docs
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/examples
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Dec 11, 2011 11:28:28 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Dec 11, 2011 11:28:28 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Dec 11, 2011 11:28:28 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@55e610e3')
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/host-manager
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/manager
Dec 11, 2011 11:28:28 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:28 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationB-0.1war
Dec 11, 2011 11:28:28 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:29 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationA-0.1war
Dec 11, 2011 11:28:29 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:29 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationC-0.1war
Dec 11, 2011 11:28:29 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/docs
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/examples
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Dec 11, 2011 11:28:30 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Dec 11, 2011 11:28:30 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Dec 11, 2011 11:28:30 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@75ea2543')
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/host-manager
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/manager
Dec 11, 2011 11:28:30 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationB-0.1war
Dec 11, 2011 11:28:31 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationA-0.1war
Dec 11, 2011 11:28:31 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationC-0.1war
Dec 11, 2011 11:28:32 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/docs
Dec 11, 2011 11:28:32 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/examples
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/host-manager
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/manager
Dec 11, 2011 11:28:33 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Applications/apache-tomcat-7.0.23/webapps/ROOT
Dec 11, 2011 11:28:34 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Dec 11, 2011 11:28:34 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 11, 2011 11:28:34 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 19073 ms

Приложения запускаются, и я могу связаться с ними. Однако, единственным приложением, которое имеет работающее соединение с источником данных, является последний загруженный контекст.

INFO: Deploying web application archive /Applications/apache-tomcat-7.0.23/webapps/ApplicationC-0.1war
Dec 11, 2011 11:28:29 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext

Что я могу сделать, чтобы решить эту проблему?

РЕШЕНИЕ ДЛЯ 1.3.7

Некоторые из jar-файлов, сгенерированных в команде grais war, не могут быть общими для каждого приложения

Банки, которые не могут быть общими и должны быть в webapps / appA / WEB-INF / lib

grails-bootstrap-1.3.7.jar      
grails-gorm-1.3.7.jar           
grails-web-1.3.7.jar
grails-core-1.3.7.jar           
grails-resources-1.3.7.jar      
spring-security-core-3.0.5.RELEASE.jar
grails-crud-1.3.7.jar           
grails-spring-1.3.7.jar

Банки, которые могут быть общими и могут быть в tomcat / shared / lib

antlr-2.7.6.jar                     
aopalliance-1.0.jar                 
asm-3.3.1.jar                       
asm-analysis-3.3.1.jar                  
asm-tree-3.3.1.jar                  
asm-util-3.3.1.jar                  
aspectjrt-1.6.8.jar                 
aspectjweaver-1.6.8.jar                 
c3p0-0.9.1.2.jar                    
cglib-nodep-2.1_3.jar                   
commons-beanutils-1.8.0.jar             
commons-codec-1.4.jar                   
commons-collections-3.2.1.jar               
commons-dbcp-1.3.jar                    
commons-el-1.0.jar                  
commons-fileupload-1.2.1.jar                
commons-io-1.4.jar                  
commons-lang-2.4.jar                    
commons-lang3-3.0.1.jar                 
commons-pool-1.5.5.jar                  
commons-validator-1.3.1.jar             
concurrentlinkedhashmap-lru-1.0_jdk5.jar        
dom4j-1.6.1.jar                     
ehcache-core-1.7.1.jar                  
ejb3-persistence-1.0.2.GA.jar                       
groovy-all-1.7.8.jar                    
hibernate-annotations-3.4.0.GA.jar          
hibernate-commons-annotations-3.1.0.GA.jar      
hibernate-core-3.3.1.GA.jar             
hibernate-ehcache-3.3.1.GA.jar              
hibernate-validator-3.1.0.GA.jar            
hsqldb-1.8.0.10.jar                 
javassist-3.11.0.GA.jar                 
jcl-over-slf4j-1.5.8.jar                
jsoup-1.6.1.jar     
jstl-1.1.2.jar  
jta-1.1.jar 
jul-to-slf4j-1.5.8.jar
log4j-1.2.16.jar
mysql-connector-java-5.1.6.jar      
org.springframework.aop-3.0.5.RELEASE.jar
org.springframework.asm-3.0.5.RELEASE.jar
org.springframework.aspects-3.0.5.RELEASE.jar
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.context.support-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
org.springframework.instrument-3.0.5.RELEASE.jar
org.springframework.jdbc-3.0.5.RELEASE.jar
org.springframework.jms-3.0.5.RELEASE.jar
org.springframework.orm-3.0.5.RELEASE.jar
org.springframework.oxm-3.0.5.RELEASE.jar
org.springframework.transaction-3.0.5.RELEASE.jar
org.springframework.web-3.0.5.RELEASE.jar
org.springframework.web.servlet-3.0.5.RELEASE.jar
oro-2.0.8.jar
parboiled-core-1.0.2.jar
parboiled-java-1.0.2.jar
pegdown-1.1.0.jar
remark-0.9.3.jar
sitemesh-2.4.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
standard-1.1.2.jar
xmlbeans-2.3.0.jar
xpp3_min-1.1.3.4.O.jar

РЕШЕНИЕ ДЛЯ 2.0.0

Некоторые из jar-файлов, сгенерированных в команде grais war, не могут быть общими для каждого приложения

Банки, которые не могут быть общими и должны быть в webapps / appA / WEB-INF / lib

grails-bootstrap-2.0.0.jar
grails-core-2.0.0.jar
grails-crud-2.0.0.jar
grails-datastore-core-1.0.0.RELEASE.jar
grails-datastore-gorm-1.0.0.RELEASE.jar
grails-datastore-simple-1.0.0.RELEASE.jar
grails-hibernate-2.0.0.jar
grails-logging-2.0.0.jar
grails-plugin-codecs-2.0.0.jar
grails-plugin-controllers-2.0.0.jar
grails-plugin-converters-2.0.0.jar
grails-plugin-datasource-2.0.0.jar
grails-plugin-domain-class-2.0.0.jar
grails-plugin-filters-2.0.0.jar
grails-plugin-gsp-2.0.0.jar
grails-plugin-i18n-2.0.0.jar
grails-plugin-log4j-2.0.0.jar
grails-plugin-mimetypes-2.0.0.jar
grails-plugin-scaffolding-2.0.0.jar
grails-plugin-services-2.0.0.jar
grails-plugin-servlets-2.0.0.jar
grails-plugin-url-mappings-2.0.0.jar
grails-plugin-validation-2.0.0.jar
grails-resources-2.0.0.jar
grails-spring-2.0.0.jar
grails-web-2.0.0.jar

Банки, которые могут быть общими и могут быть в tomcat / shared / lib

antlr-2.7.6.jar
aopalliance-1.0.jar
asm-3.1.jar
asm-3.3.1.jar
asm-analysis-3.3.1.jar
asm-tree-3.3.1.jar
asm-util-3.3.1.jar
aspectjrt-1.6.10.jar
aspectjweaver-1.6.10.jar
cglib-2.2.jar
commons-beanutils-1.8.3.jar
commons-codec-1.5.jar
commons-collections-3.2.1.jar
commons-dbcp-1.4.jar
commons-el-1.0.jar
commons-fileupload-1.2.2.jar
commons-io-2.1.jar
commons-lang-2.6.jar
commons-lang3-3.0.1.jar
commons-logging-1.1.1.jar
commons-pool-1.5.6.jar
commons-validator-1.3.1.jar
concurrentlinkedhashmap-lru-1.2_jdk5.jar
dom4j-1.6.1.jar
ecj-3.6.2.jar
ehcache-core-2.4.6.jar
fontbox-1.6.0.jar
h2-1.2.147.jar
hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.7.Final.jar
hibernate-ehcache-3.6.7.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-validator-4.1.0.Final.jar
javassist-3.12.0.GA.jar
jcl-over-slf4j-1.6.2.jar
jsoup-1.6.1.jar
jstl-1.1.2.jar
jta-1.1.jar
jul-to-slf4j-1.6.2.jar
log4j-1.2.16.jar
mysql-connector-java-5.1.18-bin.jar
oro-2.0.8.jar
parboiled-core-1.0.2.jar
parboiled-java-1.0.2.jar
pdfbox-1.6.0.jar
pegdown-1.1.0.jar
poi-3.7-20101029.jar
poi-ooxml-3.7-20101029.jar
poi-ooxml-schemas-3.7-20101029.jar
remark-0.9.3.jar
sitemesh-2.4.jar
slf4j-api-1.6.2.jar
spring-aop-3.1.0.RELEASE.jar
spring-asm-3.1.0.RELEASE.jar
spring-aspects-3.1.0.RELEASE.jar
spring-beans-3.1.0.RELEASE.jar
spring-context-3.1.0.RELEASE.jar
spring-context-support-3.1.0.RELEASE.jar
spring-core-3.1.0.RELEASE.jar
spring-expression-3.1.0.RELEASE.jar
spring-jdbc-3.1.0.RELEASE.jar
spring-jms-3.1.0.RELEASE.jar
spring-orm-3.1.0.RELEASE.jar
spring-security-core-3.0.7.RELEASE.jar
spring-security-web-3.0.7.RELEASE.jar
spring-tx-3.1.0.RELEASE.jar
spring-web-3.1.0.RELEASE.jar
spring-webmvc-3.1.0.RELEASE.jar
validation-api-1.0.0.GA.jar
xmlbeans-2.3.0.jar
xpp3_min-1.1.4c.jar

Ответы [ 2 ]

7 голосов
/ 12 декабря 2011

К сожалению, это не работает в Grails, и есть несколько проблем, чем источник данных.Мы смотрели на исправление этого для 2.0, но все еще есть проблемы, поэтому он не будет работать до выпуска 2.0.x.

Проблема в статических переменных в ядре Grails jar.Так как классы в этих банках загружаются общим загрузчиком классов, статика является общей для всего Tomcat.Пока файлы jar находятся в каждом файле войны, они загружаются загрузчиком классов, специфичным для войны, и между статическими переменными нет конфликта.Поэтому до тех пор, пока это не будет исправлено, вам нужно развернуть полные войны или, по крайней мере, сохранить файлы grails - * .jar в войнах.

2 голосов
/ 12 декабря 2011

Это хорошая идея, и я обычно стараюсь делать то же самое (делиться банками в разных контекстах).Тем не менее, не все jar-файлы могут быть разделены таким образом (они должны быть разработаны для него).

  1. Совместно используемые библиотеки загружаются в другой (общий) Classloader, более высокий в иерархии загрузки классов.Если вы попытаетесь найти классы по имени, вы не сможете найти классы в загрузчике классов ниже в иерархии.

  2. Некоторые классы / банки используют шаблон Singleton (или другой видгосударство).Если вы отправите их на войну, они будут загружены несколько раз, и существует несколько синглетонов (по одному на каждую войну).Если вы поместите их в общий контекст, он не будет работать следующим образом.

Я бы посоветовал помещать в общий контекст только файлы jar, специально предназначенные для этого.Проверьте это, и вы увидите.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...