Alterar o banco de dados no context.xml após a aplicação estar rodando

13 respostas
A

Olá pessoal,

No meu context.xml está configurado um determinado database para acessar, eu gerei um novo war para dar do deploy no cliente, porém esqueci que o nome do banco de dados lá estava diferente do que o que eu estava usando, logo a aplicação não funcionou!

Só que para resolver esse problema eu precisei alterar o nome do database do meu context.xml pelo eclipse e gerar um novo war.

Era necessário fazer isso? Tecnicamente se eu só alterasse o nome do banco de dados não deveria funcionar? Tentei editar o arquivo context.xml, mas só com isso a aplicação não rodou.

Alguém já passou por isso ou sabe como poderia ter procedido nesse caso?

Obrigado.

13 Respostas

H

Você reiniciou a aplicação?

A

Pior que não, no caso seria dar um Reload pelo Tomcat Web Application Manager, né?

Não tentei não…a aplicação ainda não trocada, então eu vou tentar acessar lá o cliente…tentar dar esse Reload e já aviso se deu certo.

Obrigado jake.

H

Bem mano, eu não sei como funciona esse esquema do Reload aí não.

Sou meio velha guarda, reboot no servidor e correr para o abraço! \o\

MAuhauhaa

A

Ah, blz, hehe, vou tentar os 2 e aviso.

Valeu.

A

Então jake, acabei de tentar reiniciar o serviço do Tomcat no cliente e tentei também o Reload, mas nenhum deles deu certo.

Eu estou tentando editar o arquivo que fica no caminho: C:\Arquivos de Programas\Apache Software Foundation\Tomcat 7.0\wtpwebapps[nome da aplicacao]\META-INF\context.xml.

É esse arquivo mesmo, certo?

Obrigado.

H

Edita o arquivo que está dentro do war. Foi lah que vc fez isso?
Outra coisa, apaga os arquivos temporários, pode ser isso que está te matando.

A

Então jake,

É que o cliente está gritando, eu já pedi para ele baixar uma nova versão do .war, já com o banco certo no context.xml…mas como eu quero sanar minha dúvida…hehe, quando eu acessar lá novamente eu vou tentar apagar os arquivos temporários antes de subir essa nova versão.

Apagar os temporários, é tipo apagar os cookies pelo browser? Desculpe a ignorância, só novo em aplicações web.

Outra coisa, aqui na minha máquina eu tentei reproduzir a mesma situação que tenho no cliente, eu deixei o Tomcat executando e colei o .war na pasta de webapps, ele gerou a pasta certinho com um context.xml com um banco de dados que não tem aqui na minha máquina. Tentei acessar e não encontra o banco.
Em seguida eu editei o context.xml com o bloco de notas para um banco de dados da aplicação, salvei e quando atualizei minha pagina ele acessou sem problemas…estranho, não?

Fiquei perdidaço agora. OO

Valeu!

H

andrepapaz:
Apagar os temporários, é tipo apagar os cookies pelo browser? Desculpe a ignorância, só novo em aplicações web.

Outra coisa, aqui na minha máquina eu tentei reproduzir a mesma situação que tenho no cliente, eu deixei o Tomcat executando e colei o .war na pasta de webapps, ele gerou a pasta certinho com um context.xml com um banco de dados que não tem aqui na minha máquina. Tentei acessar e não encontra o banco.
Em seguida eu editei o context.xml com o bloco de notas para um banco de dados da aplicação, salvei e quando atualizei minha pagina ele acessou sem problemas…estranho, não?


Temporários do Tomcat mesmo. Não me lembro como o Tomcat funciona, mas geralmente os containner geram um temporario e armazenam as informações lá.

Agora, como você estou local e funcionou e lá não, pode ser alguma configuração ou até mesmo a versão do tomcat. [=

M

jakefrog:
andrepapaz:
Apagar os temporários, é tipo apagar os cookies pelo browser? Desculpe a ignorância, só novo em aplicações web.

Outra coisa, aqui na minha máquina eu tentei reproduzir a mesma situação que tenho no cliente, eu deixei o Tomcat executando e colei o .war na pasta de webapps, ele gerou a pasta certinho com um context.xml com um banco de dados que não tem aqui na minha máquina. Tentei acessar e não encontra o banco.
Em seguida eu editei o context.xml com o bloco de notas para um banco de dados da aplicação, salvei e quando atualizei minha pagina ele acessou sem problemas…estranho, não?


Temporários do Tomcat mesmo. Não me lembro como o Tomcat funciona, mas geralmente os containner geram um temporario e armazenam as informações lá.

Agora, como você estou local e funcionou e lá não, pode ser alguma configuração ou até mesmo a versão do tomcat. [=

na raiz do tomcat tem uma pasta la chamada work, de uma forma geral os servlets gerados pelos seus JSPs e coisas do tipo ficam nessa pasta…

acredito que para arquivo .xml isso não seria necessário…

A

Pelo que vi aqui no Guj mesmo, o temporários do Tomcat fica em C:\Arquivos de programas\Apache Software Foundation\Tomcat 7.0\temp. Bem, na minha maquina a pasta está vazia. Verificarei no cliente.

Outra coisa é que, aqui é o Tomcat 7, e no cliente é o Tomcat 6.

Vamos ver…depois posto o que que deu!

Valeu! :thumbup:

A

maior_abandonado:
jakefrog:
andrepapaz:
Apagar os temporários, é tipo apagar os cookies pelo browser? Desculpe a ignorância, só novo em aplicações web.

Outra coisa, aqui na minha máquina eu tentei reproduzir a mesma situação que tenho no cliente, eu deixei o Tomcat executando e colei o .war na pasta de webapps, ele gerou a pasta certinho com um context.xml com um banco de dados que não tem aqui na minha máquina. Tentei acessar e não encontra o banco.
Em seguida eu editei o context.xml com o bloco de notas para um banco de dados da aplicação, salvei e quando atualizei minha pagina ele acessou sem problemas…estranho, não?


Temporários do Tomcat mesmo. Não me lembro como o Tomcat funciona, mas geralmente os containner geram um temporario e armazenam as informações lá.

Agora, como você estou local e funcionou e lá não, pode ser alguma configuração ou até mesmo a versão do tomcat. [=

na raiz do tomcat tem uma pasta la chamada work, de uma forma geral os servlets gerados pelos seus JSPs e coisas do tipo ficam nessa pasta…

acredito que para arquivo .xml isso não seria necessário…

Então, essa pasta tem vários arquivos…tem algum problema de apagar o que há dentro dela?

Valeu!

M

andrepapaz:
maior_abandonado:
jakefrog:
andrepapaz:
Apagar os temporários, é tipo apagar os cookies pelo browser? Desculpe a ignorância, só novo em aplicações web.

Outra coisa, aqui na minha máquina eu tentei reproduzir a mesma situação que tenho no cliente, eu deixei o Tomcat executando e colei o .war na pasta de webapps, ele gerou a pasta certinho com um context.xml com um banco de dados que não tem aqui na minha máquina. Tentei acessar e não encontra o banco.
Em seguida eu editei o context.xml com o bloco de notas para um banco de dados da aplicação, salvei e quando atualizei minha pagina ele acessou sem problemas…estranho, não?


Temporários do Tomcat mesmo. Não me lembro como o Tomcat funciona, mas geralmente os containner geram um temporario e armazenam as informações lá.

Agora, como você estou local e funcionou e lá não, pode ser alguma configuração ou até mesmo a versão do tomcat. [=

na raiz do tomcat tem uma pasta la chamada work, de uma forma geral os servlets gerados pelos seus JSPs e coisas do tipo ficam nessa pasta…

acredito que para arquivo .xml isso não seria necessário…

Então, essa pasta tem vários arquivos…tem algum problema de apagar o que há dentro dela?

Valeu!

pelo pouco que eu sei, é nessa pasta que são gerados os arquivos das servlets que são relativos as páginas jsp que tiverem nas aplicações do tomcat (a menos que você tenha especificado o contrário em arquivo de configuração, acho que ja vi em arquivo xml de configuração do tomcat, no context ou no server.xml, sendo criados contextos para aplicações específicas, la estaria especificado o workdir, onde o tomcat usariapara guardar estes arquivos mas caso você não tenha criado nenhuma confiugração dessa fica nessa pasta work por default). Quando precisei no passado que estes arquivos fossem re-gerados, fiz um backup da pasta e deixei-a vazia, mas não precisei do backup por que funcionou… se você não tem certeza e não está em ambiente de produção, faz backup e testa…

A

Então pessoal, eu acessei hoje a máquina do Cliente e antes de tentar subir o novo .war eu tentei apagar a pasta tmp do TomCat, não tinha visto o forum ainda então eu não tentei apagar os arquivos da pasta work, mas mesmo apagando os arquivos da pasta tmp, e depois da máquina dela ter reiniciado, sei la se poderia ser isso, enfim, mesmo depois de tudo isso a aplicação não conseguiu acessar o banco que eu mudei no context.xml. O que é bem estranho, pois como eu comentei aqui antes, na minha máquina essa simulação deu certo.

Aí não teve jeito, tive que subir o .war novo que gerei aqui pelo eclipse, e foi só assim que funcionou.

Agora já foi…nunca saberei que bizarrice aconteceu…^^.

Mas valeu a força aí de vcs :thumbup:

E, sem querer incomodar, já aguardem novas dúvidas minhas aí que são muitas ^^.

Valeu! :mrgreen:

Criado 29 de fevereiro de 2012
Ultima resposta 1 de mar. de 2012
Respostas 13
Participantes 3