Executando Scripts CLI em Batch no JBoss AS 7.1.1

Postado em Updated on

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 :P 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”.

Para o modo domain adicione o conteúdo abaixo ao arquivo add-tcp.txt :
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
Veja a imagem abaixo informando o sucesso da operação:

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 :)

Abraços

Um comentário sobre “Executando Scripts CLI em Batch no JBoss AS 7.1.1

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

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s