O documento descreve a nova versão do servidor JBoss, chamada WildFly 8. Ele apresenta as principais mudanças e melhorias como o suporte completo à especificação JEE7 e um novo módulo de layout de sistema de arquivos. Além disso, fornece um tutorial passo a passo para criar um projeto simples usando EJB 3.2 no WildFly.
3. WildFly – Jboss 8
O Servidor Jboss , chega a sua versão 8, tem o um novo nome:
Jboss WildFly 8.
“Ele chega prometendo voar rápido assim como uma borboleta
selvagem”
"Fly Fast, and Free"
http://www.wildfly.org/
4. WildFly – Jboss 8
Download
Para fazermos o download do Wildfly
Application Server, temos que ir no novo site do projeto.
Este é hostiado no http://www.wildfly.org.
http://www.wildfly.org/
5. WildFly – Jboss 8
Desenvolvimento
O desenvolvimento não teve uma mudança radical comparado
ao Jboss 7 (Que mudou radicalmente), o que mais sentimos de
diferença visível é que o novo servidor suporta a especificação
completa do JEE7, que foi recentemente liberada:
(http://java.net/projects/javaee-spec/downloads).
http://www.wildfly.org/
6. WildFly – Jboss 8
Desenvolvimento
Junto com isso você precisa estar ciente que no novo servidor
contém um novo modulo de layout para filesystem (Que foi
introduzido no JBoss EAP 6.1, basicamente o novo modulo de
sistemas de arquivo é organizado em:
http://www.wildfly.org/
8. WildFly – Jboss 8
Desenvolvimento
O modulo de administração é usado separadamente da
distribuição base e outros módulos. A vantagem disso é que
você pode customizar entrega do seu aplicativo.
http://www.wildfly.org/
9. WildFly – Jboss 8
Desenvolvimento
Por causa do novo modulo de distribuição do sistema de
arquivos do WildFly o plugin de configuração do Jboss 7 do
jboss tools não é mais utilizado para no jboss 8, para isso
precisará baixa o JBoss Tools 4.1.1 sobre o Eclipse Kepler 4.3.1,
para ter a nova configuração em vigor.
http://www.wildfly.org/
12. Jboss Tools e WildFly
Demo
Vamos criar uma simples com maven para usar a especificação
do EJB 3.2.
Para saber mais:
http://www.infoq.com/br/news/2012/08/ejb-3.2-inicial
http://pt.slideshare.net/arungupta1/java-ee7-webinar
13. Jboss Tools e WildFly
Demo
Crie uma app maven javaee7-webapp
Criando o projeto maven:
mvn archetype:generate -DgroupId=br.com.psi.exwildfly
-DartifactId=example-wildfly-webapp
-Dpackage=br.com.psi
-Dversion=1.0-SNAPSHOT
Adicionar suporte ao eclipse:
mvn eclipse:eclipse -Dwtpversion=2.0
Após isso vá em: File=>New=>Other=>Maven=>Import Maven Project e importe
seu projeto.
14. Jboss Tools e WildFly
Nota
Você tem que criar uma Eclipse Java project e não uma Java
Project.
Muita gente confunde, se usarmos somente o comando: mvn
eclipse:eclipse, isto irá converter somente para uma projeto Java
project, adicionanto o argumento extra -Dwtpversion=2.0 isso
criará o projeto com as configurações necessárias do Eclipse web
project.
15. Jboss Tools e WildFly
Demo
• Crie uma classe chamada NoPassivation, dentro do pacote:
package br.com.psi.service. Com o seguinte conteúdo:
package br.com.psi.service;
@javax.ejb.Stateful(passivationCapable=false)
public class NoPassivation {
int total =0;
public void sum(int i) {
total+=i;
}
public int getTotal() {
return total;
}
}
16. Jboss Tools e WildFly
Demo
Para testar nosso EJB, vamos criar uma servlet simples para
chamos o NoPassivation EBJ algumas vezes:
package br.com.psi.controller;
@EJB
NoPassivation ejb;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
ejb.sum(5);
ejb.sum(5);
PrintWriter out = response.getWriter();
out.println("Hello from EJB 3.2 on WildFly");
out.println("Total "+ejb.getTotal());
out.close();
}
17. Jboss Tools e WildFly
Demo
• Por ultimo vamos criar nosso pom.xml, usando a
especificacao do JEE7 jboss-javaee-7.0 e o EJB 3.2 usando a
implementação da jboss: jboss-ejb-api_3.2_spec.
18. Jboss Tools e WildFly
Demo
• Acrescente no seu pom.xml.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- maven-compiler-plugin -->
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>1.7</maven.compiler.source>
</properties>
19. Jboss Tools e WildFly
Demo
• Acrescente no seu pom.xml.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-7.0</artifactId>
<version>1.0.0.Final-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
20. Jboss Tools e WildFly
Demo
• Acrescente no seu pom.xml.
<dependencies>
<dependency>
<groupId>org.jboss.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.2_spec</artifactId>
<scope>provided</scope>
</dependency>
<!-- Import the Common Annotations API (JSR-250) -->
<dependency>
<groupId>org.jboss.spec.javax.annotation</groupId>
<artifactId>jboss-annotations-api_1.2_spec</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
21. Jboss Tools e WildFly
Demo
• Acrescente no seu pom.xml.
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.0.0.Beta1</version>
</plugin>
</plugins>
</build>
22. Jboss Tools e WildFly
Obrigado
Fonte: http://www.mastertheboss.com/wildfly-8/wildfly-8-introduction