Introdução ao wildfly

Instalação

A instalação do Wildfly é apenas uma questão de descompactar a distribuição em sua máquina local. O Wildfly pode ser baixado em seu site oficial.

Uma vez descompactado, vá para o diretório bin de instalação e execute standalone.sh para sistemas Linux ou standalone.bat para sistemas Windows para iniciar sua instância do WildFly nas configurações padrão. Uma vez que você vê algo como

13:16:12,503 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.1.0.Final (WildFly Core 2.2.0.Final) started in 18909ms - Started 331 of 577 services (393 services are lazy, passive or on-demand)

então sua nova instância do WildFly esperando para recebê-lo em: http://localhost:8080/

Algumas distribuições Linux, como o Fedora, possuem o Wildfly em seus repositórios e podem ser instaladas via YUM/DNF: dnf install wildfly. Isso, no entanto, não é realmente recomendado, pois tende a usar versões ligeiramente diferentes das bibliotecas da distribuição oficial, o que pode causar problemas difíceis de diagnosticar/corrigir.

Executando via Docker

Wildfly, parte do guarda-chuva de projetos do JBoss, também pode ser executado via Docker. Em uma máquina com o Docker configurado corretamente, execute:

$ docker run -it jboss/wildfly

Uma vez que a imagem é puxada, o container inicia e a seguinte linha pode ser vista:

09:44:49,225 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) started in 5644ms - Started 267 of 553 services (371 services are lazy, passive or on-demand)

Este é um servidor Wildfly “vazio”. Em projetos do mundo real, a imagem base deve ser estendida para que seu aplicativo no formato de empacotamento WAR/EAR seja adicionado a ela, bem como as alterações de configuração necessárias para standalone/configuration/standalone.xml.

Iniciando o servidor

Uma vez que o Wildfly é instalado descompactando a distribuição, ele pode ser iniciado executando o script standalone.sh no diretório bin:

$ ./bin/standalone.sh 
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /mnt/storage/tools/servers/wildfly-10.0.0.Final

  JAVA: java

  JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

11:54:33,781 INFO  [org.jboss.modules] (main) JBoss Modules version 1.5.1.Final
11:54:34,096 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final
11:54:34,193 INFO  [org.jboss.as] (MSC service thread 1-6) WFLYSRV0049: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) starting
...
...
11:54:37,653 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) started in 4357ms - Started 273 of 559 services (374 services are lazy, passive or on-demand)

Sem argumentos, a configuração padrão é usada. Para substituir a configuração padrão, você pode fornecer argumentos na linha de comando.

--admin-only                        Set the server's running type to
                                    ADMIN_ONLY causing it to open
                                    administrative interfaces and accept
                                    management requests but not start other
                                    runtime services or accept end user
                                    requests.


-b <value>, -b=<value>              Set system property jboss.bind.address
                                    to the given value


-b<interface>=<value>               Set system property
                                    jboss.bind.address.<interface> to the
                                    given value


-c <config>, -c=<config>            Name of the server configuration file
                                    to use (default is "standalone.xml")
                                    (Same as --server-config)


--debug [<port>]                    Activate debug mode with an optional
                                    argument to specify the port. Only
                                    works if the launch script supports it.


-D<name>[=<value>]                  Set a system property


-h, --help                          Display this message and exit


--read-only-server-config=<config>  Name of the server configuration file
                                    to use. This differs from
                                    '--server-config' and '-c' in that the
                                    original file is never overwritten.


-P <url>, -P=<url>,                 Load system properties from the given
     --properties=<url>             url


-S<name>[=<value>]                  Set a security property


--server-config=<config>            Name of the server configuration file
                                    to use (default is "standalone.xml")
                                    (Same as -c)


-u <value>, -u=<value>              Set system property
                                    jboss.default.multicast.address to the
                                    given value


-v, -V, --version                   Print version and exit


-secmgr                             Runs the server with a security manager
                                    installed.