TECNOLOGIA – Wildfly – Como configurar um diretório de arquivos customizados
Dúvida
Como configurar um diretório de arquivos customizados?
Solução
Para configurar um diretório de arquivos customizados no Wildfly, siga o procedimento abaixo:
- Execute o CMD como administrador;
- Acesse o diretório Wildfly \ Bin;
- Execute o seguine comando: jboss-cli.bat --connect controller=HOST:9990
- Adicione ao profile um Handler apontando para o diretório dos arquivos, conforme comando de exemplo: /profile=PROFILE/subsystem=undertow/configuration=handler/file=HANDLER_NAME:add(path="PATH")
Parâmetros:
PROFILE - nome do profile no domínio (ex.: gep6104, full, etc.)
HANDLER_NAME - nome identificador do handler (ex.: handler-docs)
PATH - diretório físico que será servido.
Exemplo usando variável do servidor: /profile=gep6104/subsystem=undertow/configuration=handler/file=handler-docs:add(path="${jboss.server.data.dir}/docs")
Exemplo com caminho absoluto (Windows): /profile=gep6104/subsystem=undertow/configuration=handler/file=handler-docs:add(path="c:\\files\\docs")
Observação: O diretório informado deve existir no sistema de arquivos (parâmetro path=) antes de executar o comando. - Variáveis padrão disponíveis no Wildfly:
As variáveis abaixo podem ser usadas em path="..." para tornar o diretório dinâmico conforme o ambiente:
| Variável | Descrição | Exemplo de resolução |
|---|---|---|
| ${jboss.home.dir} | Diretório raiz da instalação do WildFly | C:\wildfly-30.0.1.Final |
| ${jboss.server.data.dir} | Diretório de dados do servidor | C:\wildfly-30.0.1.Final\domain\servers\gep6104\data |
| ${jboss.domain.base.dir} | Diretório base do domínio | C:\wildfly-30.0.1.Final\domain |
| ${jboss.domain.servers.dir} | Diretório que contém as pastas dos servidores de domínio | C:\wildfly-30.0.1.Final\domain\servers |
| ${jboss.server.log.dir} | Diretório de logs do servidor | C:\wildfly-30.0.1.Final\domain\servers\gep6104\log |
| ${jboss.server.temp.dir} | Diretório temporário do servidor | C:\wildfly-30.0.1.Final\domain\servers\gep6104\tmp |
Essas variáveis são automaticamente resolvidas no momento da execução do CLI e podem ser combinadas com subpastas personalizadas.
6. Crie o location para mapeamento da URL através do comando /profile=PROFILE/subsystem=undertow/server=default-server/host=default-host/location="/URL_PATH":add(handler="HANDLER_NAME")
Parâmetros:
PROFILE - mesmo profile usado no handler.
URL_PATH - caminho da URL que será exposto (inicia com "/").
HANDLER_NAME - nome do handler criado anteriormente.
Exemplo: /profile=gep6104/subsystem=undertow/server=default-server/host=default-host/location="/docs":add(handler="handler-docs")
Observação: As requisições para /docs serão direcionadas para o diretório configurado no handler.
Aplique a configuração através do comando :reload-servers(blocking=true).
Observação: Recarrega todos os servidores do domínio aplicando as alterações.
O parâmetro blocking=true faz o comando aguardar até o fim do reload.