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