Executando Scripts CLI em Batch no JBoss AS 7.1.1
O modo batch permite a execução de múltiplos comandos CLI como um unidade atômica . Assim se qualquer uma dos comandos ou operações falhar, as mudanças são desfeitas. Por outro lado, se a execução termina sem qualquer erro, alterações são confirmadas.
Na minha opnião esse é um dos principais recursos no CLI pois nos ajuda a evitar o retrabalho. Me vendo como um administrador de instâncias JBoss eu posso deixar inúmeros scripts prontos e sob demanda ir executando a criação de datasources, configurações de thread pools ou até mesmo atualização nas configurações existentes.
Suponha que você tenha recebido a seguinte missão: Configurar um cluster JBoss para utilizar a stack TCP ao invés de UDP como é o padrão no JBoss AS. Em versões anteriores você teria que editar um arquivo .xml colocando toda a configuração nesse arquivo sem a garantia que a sintaxe de sua configuração estaria correta.
No JBoss AS 7 usando CLI toda a sintaxe é validade quando você adiciona novas configurações ao subsystem. É claro que também o CLI não faz milagre e é preciso respeitar o bom senso
Mas chega de conversa e vamos lá.
Crie um aquivo com o nome add-tcp.txt e adicione o conteúdo abaixo se você estiver utilizando o modo standalone:
batch cd /subsystem=jgroups ./stack=tcpping:add cd stack=tcpping ./transport=TRANSPORT:add(type=TCP,socket-binding=jgroups-tcp) :add-protocol(type=TCPPING) :add-protocol(type=MERGE2) :add-protocol(type=FD_SOCK,socket-binding=jgroups-tcp-fd) :add-protocol(type=FD) :add-protocol(type=VERIFY_SUSPECT) :add-protocol(type=BARRIER) :add-protocol(type=pbcast.NAKACK) :add-protocol(type=UNICAST2) :add-protocol(type=pbcast.STABLE) :add-protocol(type=pbcast.GMS) :add-protocol(type=UFC) :add-protocol(type=MFC) :add-protocol(type=FRAG2) :add-protocol(type=RSVP) cd protocol=TCPPING ./property=initial_hosts/:add(value="192.168.1.10[7600],192.168.1.30[7600]") ./property=port_range/:add(value=0) ./property=timeout/:add(value=3000) ./property=num_initial_members/:add(value=3) cd ../.. :write-attribute(name=default-stack,value=tcpping) run-batch
No Linux execute ./jboss-eap-6.0/bin/jboss-cli.sh -c –file=add-tcp.txt, no Windows execute jboss-cli.bat -c –file=C:\caminho\add-tcp.txt .
Se tudo ocorrer bem você verá a seguinte mensagem: “The batch executed successfully”.
batch cd /profile=full-ha/subsystem=jgroups ./stack=tcpping:add cd stack=tcpping ./transport=TRANSPORT:add(type=TCP,socket-binding=jgroups-tcp) :add-protocol(type=TCPPING) :add-protocol(type=MERGE2) :add-protocol(type=FD_SOCK,socket-binding=jgroups-tcp-fd) :add-protocol(type=FD) :add-protocol(type=VERIFY_SUSPECT) :add-protocol(type=BARRIER) :add-protocol(type=pbcast.NAKACK) :add-protocol(type=UNICAST2) :add-protocol(type=pbcast.STABLE) :add-protocol(type=pbcast.GMS) :add-protocol(type=UFC) :add-protocol(type=MFC) :add-protocol(type=FRAG2) :add-protocol(type=RSVP) cd protocol=TCPPING ./property=initial_hosts/:add(value="HostA[7600],HostB[7600]") ./property=port_range/:add(value=0) ./property=timeout/:add(value=3000) ./property=num_initial_members/:add(value=3) cd ../.. :write-attribute(name=default-stack,value=tcpping) run-batch
Fica da dica de que o JGroups no modo standalone é “iniciado” sob demanda.
Agora toda vez que você precisar utilizar a stack tcp é só rodar esse scritp, lembrando que existe mais algumas configurações para o JBoss utilizar o TCP.
Espero que tenha ajudado


[...] Learning JBoss InícioSobre Mim « Executando Scripts CLI em Batch no JBoss AS 7.1.1 [...]