Suporte ao Java 7


#1

Prezados, alguém já testou o funcionamento do cliente ADempiere com Java 7?

Nossa equipe que cuida dos equipamentos está planejando migrar para a nova versão e pediu a homologação dos sistemas que utilizam Java. Iremos realizar testes internamente, mas seria importante trocar experiências com quem já passou pela mesma situação. O servidor continuará utilizando a versão 6, pelo menos num primeiro momento.

Grato.


#2

É preciso fazer algumas alterações nas classes que são hardcoded com relação a verificação do java. (Tela de Login, Tela de Setup), alterar os arquivos build.xml que fazem referencia ao Java 1.6 e 1.5 e também a alteração na classe CompiereUtils

adempiere.atlassian.net/browse/ADEMPIERE-86 - Tracker com as alterações

aqui na empresa onde trabalho, já estamos usando o java 7 em produção e não estamos encontrando nenhum problema. (O sistema foi compilado em Java 7, o servidor é Java 7 e dai ele exige que os clientes estejam em java 7), apenas para registro, estou usando a versão 3.7.0LTS com OSEB


#3

Prezados, alterei a classe Login.java (método isJavaOk) para aceitar apenas Java 6 e 7, e alterei a classe CompiereUtils conforme sugerido no link enviado pelo mgrigioni. Até onde pude testar o funcionamento está normal.

O nosso desafio agora é com a rede. O Java 7 por padrão tenta se conectar através de IPv6, em algumas máquinas o WebStart não funciona, e aparece a seguinte mensagem de erro:

Em outras máquinas funciona, abre sem problemas, o erro é ainda no Java WebStart. A solução que encontramos aqui foi passar um parãmetro na inicialização da JVM com
-Djava.net.preferIPv4Stack=true, que permitiu abrir via web start. Tentei abrir com o Eclipse sem essa flag e ele também se recusa a fazer outras conexões (com o servidor de aplicações e banco de dados). Ainda não conseguimos identificar qual a razão desse problema ocorrer apenas em algumas máquinas, sem uma regra bem definida para se manifestar.

Considerando que a inclusão dessa flag seja a solução, como fazer pra incluí-la no arquivo .jnlp? Eu sei que existe a possibilidade, a dúvida é como fazê-lo dentro da estrutura do ADempiere. Preciso rodar algum script em especial, ou existe algum local em que possa incluí-lo no customization.jar que já propagará as mudanças?

Agradeço desde já a atenção.

T+


#4

estranho, aqui eu não tive nenhum problema e são mais de 100 clientes, qual BD vc esta usando ? Talvez seja ai o problema, aqui eu uso Oracle


#5

Aqui utilizamos PostgreSQL 8.4. Não creio que tenha a ver com o banco, pois o problema também se manifesta na comunicação com o servidor de aplicação na porta 1099 e em outros programas Java também, como o DBVisualizer.

Sobre a alteração do adempiere.jnlp, alguém tem alguma sugestão?

[]s
Diego


#6

se o problema se manifesta com vários programas e os clientes são Windows, vá no painel de controle > java > aba java e coloque o -Djava.net.preferIPv4Stack=true no parâmetros de runtime, acho que assim resolve para todos os casos.


#7

Alterando o padrao do java nas configuracoes do sistema resolveu o problema?