1 - Minha aplicação web tem alguns parâmetros de configuração, gravados em arquivo texto. Deixo esses arquivos dentro do war ou adiciono alguma configuração no próprio tomcat?
2 - É melhor que a configuração de banco de dados seja feita no próprio container, usando JNDI?
3 - Qual o melhor lugar para gravar arquivos que foram “upados” por usuários? Dentro de webapps eles serão removidos a cada deployment, certo?
4 - Meu war está meio grande devido ao número de dependências. É boa prática adicionar os jars dentro do container (dentro do diretório lib) para reduzir o tamanho do war?
PS: Esse é o fórum certo para esse tipo de pergunta?
3- salvar dentro de webapps não vai funcionar. Você pode deixar o caminho do diretório a ser gravado em uma variável de ambiente (C:/MINHA_APP_HOME/arq), o aplicativo JIRA da Atlassian usa dessa forma, o Alfresco, se eu não me engano, também.
1 - Minha aplicação web tem alguns parâmetros de configuração, gravados em arquivo texto. Deixo esses arquivos dentro do war ou adiciono alguma configuração no próprio tomcat?
[/quote]
Por padrão dentro do war. Já que outros web containers podem ter outros padrões. Se vc foca especificamente o tomcat, então pode deixar o arquivo na pasta conf do seu tomcat por exemplo conf/[suapp]/seuarquivo.txt.
Sim. É mais EE e compatível com outros servidores.
Além disso a configuração do datasource depende do servidor, não da aplicação.
Em uma pasta fora do webapps. Vc pode usar o arquivo de configuração para definir qual é. O caminho deveria ser relativo à pasta do tomcat.MAs cuidado que isto não é padrão e muitos provedores não lhe darão permissão de escrita.
Se o servidor é só para essa aplicação sim, não tem problema colocar as libs no tomcat. Mas se o tomcat é partilhado, é preciso ter mais cuidado e à priori é melhor manter separado (a menos que vc faça uma analise muito minuciosa das libs de todas as aplicações).
[quote=felipe_gdr]3- salvar dentro de webapps não vai funcionar. Você pode deixar o caminho do diretório a ser gravado em uma variável de ambiente (C:/MINHA_APP_HOME/arq), o aplicativo JIRA da Atlassian usa dessa forma, o Alfresco, se eu não me engano, também.
[/quote]
É seguro usar essa abordagem?
Felipe, onde vc configura o caminho dos seus arquivos? No server.xml ou dentro da aplicação?
Minha dúvida é que para cada instalação que eu faço, alguns parâmetros variam nesse arquivo de configuração. Se eu deixar o arquivo de instalação dentro do war, vou ter que gerar um war para cada configuração… melhor mover as configurações para o banco de dados em vez de usar um arquivo?
Não sei de nenhuma possível brecha, apenas me pareceu um pouco frágil guardar configurações da aplicação em variáveis de ambiente.
Eu procuro uma forma fácil/segura de armazenar determinadas configurações, por exemplo, o caminho onde os arquivos são armazenados e outras configurações… se desse para gravar em um arquivo texto, pra mim seria perfeito. O problema que eu tenho com isso é que toda vez que eu faço deploy da aplicação, o conteúdo do arquivo é sobrescrito, porque está dentro do war… por isso perguntei se daria pra colocar esse arquivo de configuração fora de webapps.
Seria correto jogar essas configurações no server.xml (ou outro arquivo de configuração do servidor) por exemplo?