[Resolvido] Problema com N Contextos (tomcat, spring)
10 respostas
feltraco
Boa tarde.
Estou tentando fazer o deploy de uma aplicacao MAIS DE UMA VEZ, dentro do mesmo tomcat.
Estou eh, tenho a seguinte estrutura:
webapps/app1
webapps/app2
webapps/app2.1
Sendo que app2 e app2.1, sao a mesma, com parametrzaoes diferentes, de acesso a banco por exemplo.
Porem app1 e app2, funcionam, e a 2.1 nao.
Quando eu removo a pasta WEB-INF do diretorio app2.1, e restarto o tomcat ele acessa o index.
Imagino que eu tenha que alterar algo no web.xml, para deixar o contexto unico, mas nao sei ao certo como proceder.
Se alguem tiver alguma dica, agradeco.
verifica se os nomes estão diferente dentro do teu web.xml
feltraco
@leandro
Alterei os nomes sim.
Testei somente com um index.jsp e funcionou.
Uma coisa que notei eh que ele levanta a primeira aplicacao.
Quando tenta levantar a segunda nao da certo.
Fiquei imaginando se ele pode registrar duas ou mais vezes o: com.mysql.jdbc.Driver.
Este drive eh carregado no Spring.
Lembrando que ambas sao a msm aplicacao com os mesmos codigos fontes e afins.
Grato
leandrokjava
Posta o erro do deploy aqui, para poder te ajudar.
feltraco
INFO: Deploying web application directory sig
28/04/2011 10:56:44 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(P:\DESENVOLVIMENTO\SERVIDORES\Tomcat-7.0.11\webapps\sig\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
28/04/2011 10:57:01 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory xxx
28/04/2011 10:57:01 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(P:\DESENVOLVIMENTO\SERVIDORES\Tomcat-7.0.11\webapps\xxx\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
28/04/2011 10:57:15 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error listenerStart
28/04/2011 10:57:15 org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/xxx] startup failed due to previous errors
28/04/2011 10:57:16 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
GRAVE: The web application [/xxx] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
28/04/2011 10:57:16 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
GRAVE: The web application [/xxx] appears to have started a thread named [RedeployManager] but has failed to stop it. This is very likely to create a memory leak.
28/04/2011 10:57:16 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
GRAVE: The web application [/xxx] appears to have started a thread named [Timer-1] but has failed to stop it. This is very likely to create a memory leak.
28/04/2011 10:57:16 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
GRAVE: The web application [/xxx] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
28/04/2011 10:57:16 org.apache.coyote.AbstractProtocolHandler start
xxx eh o path onde coloquei a segunda aplicacao.
Vou re-configurar o log4j pq nao esta listando…
leandrokjava
Olhando rapidamente por cima. não consegui ver muito…
mas (chutando) quem sabe você tem que trocar os nomes:
persistence-unit name=“App1”
persistence-unit name=“App2”
do teu persistence.xml (devem estar duplicados).
Ou somente utilizar UM deles.
Testa ai.
feltraco
Nao tinha alterado.
Alterei agora, mas continua o mesmo erro.
Ele tenta levantar mas em seguida derruba a aplicacao.
Como eu faco para descobrir quem ou oq esta derrubando a app ?
No log do tomcat nao esta aparecendo nem no log4j, na vdd o log4j da app nem gera.
feltraco
Alterei um monte de coisas, em varios XMLs.
Continua a msm coisa, uma aplicacao funciona perfeitamente.
Se faco deply ed outras, so a primeira funciona.
feltraco
Nao faco nem ideia do porque… mas o problema era isso: