TL; DR - Como dou à tarefa ws_ant.sh
e / ou <wsInstallApp>
mais heap em tempo de execução?
Estou tentando implementar um arquivo EAR relativamente grande (~ 160 MB) no WebSphere 8.5 em execução em uma plataforma Linux de 64 bits.
Aqui está a tarefa que tenho no meu build.xml
:
<wsInstallApp
ear="/my/ear/file/location/New.EAR"
properties="jvm.properties"
options="-appname myNewEarApp -update -deployws"
host="localhost"
conntype="SOAP"
user="the_username"
password="not_telling_you"
failonerror="true" />
A execução com o ws_ant.sh
empacotado com os resultados do WAS em OutOfMemoryError
e dumps de heap.
Então, eu preciso aumentar o heap disponível para a tarefa (ou o próprio ws_ant?) em tempo de execução, mas não consigo descobrir o local adequado para isso. Eu tentei modificar o wsadmin.sh , e embora isso tenha um efeito se eu executar minha implantação como um script Jython com wsadmin.sh
diretamente, não parece ter qualquer impacto na execução de <wsInstallApp>
no script Ant.
De acordo com a documentação da IBM de wsInstallApp :
The properties attribute is optional and it contains a java properties file containing attributes to set in the JVM System properties
No meu arquivo jvm.properties
, tentei:
[user@localhost]$ cat jvm.properties
-Xms4096m
-Xmx4096m
Isso não teve efeito. A execução de ws_ant.sh
com a sinalização -v
mostrou que, em algum lugar, o valor -Xmx é definido como -Xmx256m
. Eu tentei várias outras combinações e formatos de cérebro, mas nada parece funcionar.
Eu também tentei adicionar argumentos na chamada ws_ant.sh
:
[user@localhost]$ ws_ant.sh -Xms4096m -Xmx4096m -v -f build.xml was.deploy
... mas isso também parece não fazer nada.
O que estou fazendo errado? Admito que, se pressionado, eu provavelmente poderia atender aos meus requisitos, reescrevendo a implantação usando wsadmin.sh
e um script Jython, mas estou tentando aproveite alguns scripts extensos do Ant a partir de um aplicativo EAR diferente.
Alternativas? Eu também reconheço que eu poderia usar a tarefa <wsadmin>
Ant para chamar alguns scripts Jython de Ant - eu ainda não tentei isso-- mas, novamente, já temos alguns scripts extensos. Quais são as vantagens e desvantagens relativas de um caminho versus o outro? (isto é, executar o script wsadmin.sh
/ Jython via <[ssh]exec>
ou <wsadmin>
versus <wsInstallApp>
[e seus "ws