Popular Tags:

Como Instalar o Driver do PostgreSQL no Wildfly

15/10/2015 at 20:02

Resumindo a fonte Master The Boss

Assumindo que você está em localhost, acesse o diretório bin do seu servidor e entre no utilitário jboss-cli.sh/bat

C:\Java\Servers\wildfly-9.0.1.Final\bin>jboss-cli.bat
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /]

Digite connect e enter.

Digite:

[standalone@localhost:9990 /] module add --name=org.postgres --resources=c:\java\lib\jdbc\postgresql-9.4-1203.jdbc42.jar --dependencies=javax.api,javax.transaction.api

Em seguida digite:

[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)

A saída deve ser

{"outcome" => "success"}

Digite quit e enter.

Hello World 2 (JSF+EJB+Wildfly)

01/10/2015 at 22:59

Para saber mais sobre como instalar e configurar o Eclipse, a JDK e o JBoss, acesse esse post.

O HelloWorld2 é o mesmo projeto do link acima só que feito no Eclipse Luna, no Ubuntu e com Wildfly. O primeiro passo é acessar o menu File, submenu New, opção Other. Na caixa de diálogo apresentada selecione a pasta Java EE, dentro dela selecione Enterprise Application Project e clique em Next, configure conforme imagem abaixo e clique em Next.

New EAR App Project

A próxima tela é a de configuração dos projetos que compõem o Hello World. Clique em New Module e desmarque a primeira (Application Client Module) e a última opção (Connector Module). Clique em Finish nas duas telas. O Project Explorer deve ser igual a imagem abaixo.

Estrutura Projeto HelloWorld2

Clique com o botão direito sobre o projeto HelloWorldEJB, selecione a opção New, submenu Session Bean (EJB 3.x), configure conforme a imagem abaixo.

Create EJB Session Bean

Clique em Next e preencha o campo Mapped name com helloWorldBean se desejar que o Java não assuma o valor padrão que é o nome da classe com a primeira letra em minúsculo, e atenção ao case-sensitive. Recentemente o Java aceita EJB sem interface, não vejo motivo algum para ignorar o Design Pattern mais importante de todos, o Strategy (sempre programe para uma interface, mesmo que ela seja uma super-classe), mas tendo em vista que esse tutorial não tem o objetivo de explorar esse conceito, vamos criar o EJB sem interface e deixar isso para outro post.

A classe gerada deve se parecer com o código abaixo, observe que removi os comentários e o construtor desnecessários para a demonstração.

 

Vamos criar a classe managedbean que é quem controla a interação do usuário, é essa classe que fica entre o xhtml e o EJB. Para isso clique com o botão direito do mouse sobre o projeto HelloWorldWeb, selecione New, opção Class. Configure conforme a imagem abaixo.

Create ManagedBean

A classe gerada já começa com um aviso da IDE ao grifar de amarelo seu nome, pare o mouse sobre ela e selecione “Add default serial version ID” na caixa de opções que surgirá. Em seguida escreva o código abaixo.

Clique com o botão direito do mouse em qualquer lugar do editor, selecione “Source”, “Generate Getters and Setters”, selecione apenas o checkbox de greeting e clique em ok. Existem outras formas de gerar os getters e setters no Eclipse, para saber tecle ctrl+shift+L.

Clique com o botão direito do mouse sobre o projeto web, selecione “Build Path”, “Configure Build Path”, selecione a aba “Projects”, clique em “Add”, selecione o projeto EJB e clique em ok.

Escreva as anotações @ManagedBean e @ViewScoped acima da declaração da classe do ManagedBean, em seguida declare a variável que receberá a instância do EJB e escreva @EJB logo acima dela. Para resolver as dependências tecle ctrl+shift+o. A classe deve ficar como abaixo.

Agora vamos instalar o complemento JBoss Tools. Para isso acesse o menu Help, opção Eclipse Marketplace, no campo Find digite JBoss e tecle enter, clique no botão Install do item JBoss Tools (Kepler), confirme a tela seguinte e a seguinte para iniciar o download, após alguns minutos ele emitirá um alerta sobre o conteúdo do download, clique em ok, em seguida ele solicitará o reinício da IDE. A partir de agora seu Eclipse apresentará a página JBoss Central.

De volta ao projeto clique com o botão direito do mouse sobre o projeto HelloWorldWeb, selecione New e selecione XHTML Page. Preencha o campo File name com index.xhtml, clique em Next, selecione Use XHTML Template, selecione Blank JSF Page e clique em Finish.

Se sua plataforma for x64 o editor com preview do JBoss Tools não funcionará, mas não estamos interessados nisso, contorne este inconveniente temporário acessando a aba Source na parte inferior do editor. A propósito, recomendo clicar com o botão direito do mouse sobre o index.xhtml, selecionar Open With, opção HTML Editor, ele faz tudo que o editor do JBoss faz mas é bem mais leve. Mesmo que o editor visual funcionasse em x64 eu não usaria, pois não acredito em WYSIWYG para HTML, prefiro manter o código totalmente controlado.

Para termos apoio da IDE ao JSF no nosso software precisamos clicar com o botão direito do mouse sobre o projeto web, selecionar o menu “properties”, selecionar “Project Facets” e marcar a opção “Java Server Faces”. O painel inferior de configuração será exibido com o texto “Further configuration available”, clique nele. A configuração a seguir é uma questão de gosto. Prefiro remover /faces/* e acrescentar *.xhtml. O campo “JSF Implementation Library” fica configurado como “Library Provided by Target Runtime”, pois estamos utilizando JBoss e ele já possui as bibliotecas necessárias ao JSF.

Configure JSF

Escreva o código abaixo dentro da tag body, que será exibido na página principal.

Acredito que se estudarmos tudo o que é necessário sobre a linha acima, perderemos o foco deste tutorial. Então fica pra próxima.

Agora abra um navegador e digite o endereço http://localhost:8080/HelloWorld2Web/index.xhtml

Conclusão: Este foi a atualização de um trecho do post anterior sobre Java EE na Web.

O código fonte do projeto está aqui.

Obrigado e até a próxima.