Version 3

    jruby.png

     

     

    Acompanhando a tendência da plataforma Java de suportar outras linguagens como JRuby,Rhino, Jyton, Groovy e muitas outras, o WildFly 8 oferece a possibilidade de gerenciamento através de liguagens de script permitindo assim uma maior flexibilidade na iteração com os servidores. Isto pode ser feito graças ao suporte fornecido pela classe "org.jboss.as.cli.scriptsupport.CLI" utilizada para enviar comandos e receber respostas.

     

    Um administrador poderia facilmente utilizar o JRuby que é a implementação do Ruby para a JVM. JRuby é extremamente produtivo e oferece um grande gama de funcionalidades que facilitam o desenvolvimento e a criação de scritps para automatização de tarefas.

     

    Caso deseje realizar um pequeno teste baixe o JRuby em http://jruby.org/. Para instalar basta descompactar o arquivo jruby-bin-1.7.x.zip utilizando um utilitário de descompressão. Em seguida coloque a instalação do JRuby no "PATH" e defina a variável de ambiente JRUBY_HOME como abaixo:

     

    $  export PATH=$PATH:/home/user/jruby-1.7.x/bin

    $  export JRUBY_HOME=/home/user/jruby-1.7.x

     

    Adicione também a biblioteca "jboss-cli-client.jar" ao CLASSPATH.

     

    $  export CLASSPATH=/home/user/wildfly/bin/client/jboss-cli-client.jar

     

    Crie um script com o nome apropriado a tarefa, como por exemplo test_datasource.rb e adicione o código abaixo. Esse script realiza um teste de conexão no datasource solicitado.

     

    module WILDFLY
    
        require 'java'
      
        include_class 'org.jboss.as.cli.scriptsupport.CLI'
    
        cli = CLI.newInstance()
        cli.connect()
        cli.cmd("cd /subsystem=datasources/data-source=ExampleDS")
        result = cli.cmd(":test-connection-in-pool()")
        response = result.getResponse()
        print
        print '======= Teste de Conexao ======== '
        print response
        cli.disconnect()
      
    end
    
    
    

     

    Através da linha de comando execute o script:

     

    $ jruby test_datasource.rb

     

    Agora observe o resultado:

     

    include_class is deprecated. Use java_import.

    WARN: can't find jboss-cli.xml. Using default configuration values.

    May 14, 2014 4:17:15 PM org.xnio.Xnio <clinit>

    INFO: XNIO Version 3.0.7.GA-redhat-1

    May 14, 2014 4:17:15 PM org.xnio.nio.NioXnio <clinit>

    INFO: XNIO NIO Implementation Version 3.0.7.GA-redhat-1

    May 14, 2014 4:17:15 PM org.jboss.remoting3.EndpointImpl <clinit>

    INFO: JBoss Remoting version 3.2.18.GA-redhat-1

    ======= Teste de Conexao ======== {

        "outcome" => "success",

        "result" => [true]

     

    O teste de conexão foi executado corretamente através de um script escrito em JRuby. O gerenciamento através de script é uma ferramenta poderosa que pode trazer mais produtividade para o dia a dia na administração de servidores JBoss.