Depois que vi os exemplos do anúncio, eu achei que tinha que testar e surpreendente meu teste levou menos do que alguns minutos para ter meu primeiro script funcionando. Aqui vão os passos que tive que seguir:
(Estou considerando que você tenha o Java 8 instalado)
- Baixe o Widlfly 10:Eu baixei o Widlfly 10.0.0.CR4 Application Server Distribution. Veja mais na página de download do WildFly;
- Unzip o arquivo em algum lugar
- Inicie o servidor de maneira "silenciosa":
& ./bin/standalone.sh > /dev/null &
- Crie a estrutura da aplicação no diretório de deploy:
$ mkdir -p standalone/deployments/app.war/WEB-INF
- Crie o único descritor necessário e declare o arquivo de Javascript nele (hello.js):
$ cat standalone/deployments/app.war/WEB-INF/undertow-scripts.conf
hello.js
- Crie o arquivo de Javascript em sí no diretório raiz da aplicação:
$ cat standalone/deployments/app.war/hello.js
$undertow.onGet("/say-hello", function($exchange) {
return "Hello World!";
});
Como você pode ver acima, quando você envia uma requisição HTTP com o método GET pra a URL {host}/{app context}/say-hello O retorno deveria ser "Hello World!". Simplesmente temos que fornecer o contexto e a função que vai responder à request.
- Faça o deploy da aplicação:
$ touch standalone/deployments/app.war.dodeploy
- Verifique se foi corretamente "deployada" checando os logs :
$ tail -n 3 standalone/log/server.log
2015-11-15 21:47:09,649 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027: Starting deployment of "app.war" (runtime-name: "app.war")
2015-11-15 21:47:11,600 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 63) WFLYUT0021: Registered web context: /app
2015-11-15 21:47:11,654 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0010: Deployed "app.war" (runtime-name : "app.war")
- Por fim, teste a aplicação usando um navegador ou curl:
$ curl http://localhost:8080/app/say-hello
Hello World!
Bem, esse foi só o começo. Você pode agora usar serviços Java EE na sua app javascript como descrito no anúncio.
Eu acho que você ainda não noto que a melhor parte é que você não precisa mais recompilar sua aplicação, vou pode simplesmente editar o javascript e
$ echo /opt/jboss/WILDFLY/wildfly-10.0.0.CR4/standalone/deployments/app.war/ > standalone/deployments/app.war/WEB-INF/undertow-external-mounts.conf
Agora se eu editar qualquer arquivo javascript no diretório que apontei, eu vou ver as modificações assim que acessar aquele endpoint.
Se você não acredita que isso é fácil, eu fiz um vídeo para você!!
Nenhum comentário:
Postar um comentário