out 15

CDI no Websphere 8 com JSF 2

Voltando aos posts de tecnologia, nas duas semanas que se passaram estive com um grande problema no trabalho:

Estávamos desenvolvendo uma aplicação utilizando CDI, com JSF 2, rodando no JBOSS  AS 7, tudo funcionando as mil maravilhas. Mas, porém, contudo, no entanto, como diz Joseph Climber –  “Mas a vida é uma caixinha de surpresas” – nosso servidor de desenvolvimento roda Websphere 8 (WAS 8) , que apesar de adotar praticamente as mesmas especificações do JAVA do JBOSS 7, utiliza em sua maioria as implementações  da APACHE(Myfaces para JSF, OpenWebBeans para CDI), enquanto que o JBOSS utiliza as implementações de referência, por exemplo o WELD para CDI e o mojarra para JSF.

Então como fazer funcionar nos 2 ambientes sem ter problemas de compatibilidade? Alguns passos são necessário, primeiro para o JSF:

  • Adicionar ao web.xml :
 
<context-param>
	<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
	<param-value>false</param-value>
</context-param>

Agora para o CDI é mais complicado, inicialmente, todas as suas classes elegíveis a injeção, por exemplo, todas as classes que você anotou com @named, devem ser serializáveis, enquanto que no JBOSS não é obrigatório, eu diria até que é uma boa prática fazer isso. Além disso, o beans.xml deve ficar dentro de WEB-INF, obrigatoriamente. No JBOSS basta estar em algum lugar do classpath, no WAS 8 não, tem que estar ao lado do web.xml, abaixo de WEB-INF.

Porém isso não é tudo, no nosso caso aqui, nada estava sendo injetado pelo container, só conseguimos resolver isso incluindo a biblioteca de CDI do myfaces no classpath da aplicação, o Myfaces CODI . Um extra sobre o CODI é que ele também possui uma implementação similar ao ViewScope do JSF que funciona para CDI (CDI padrão não possui essa anotação), que é a @ViewAccessScoped

Você pode escolher quais módulos do CODI você deseja utilizar, aqui abaixo segue o código do pom para inserir o CODI completo, na wiki do CODI você encontra esses módulos.

 
    <dependency>
	<groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>
	        <artifactId>myfaces-extcdi-bundle-jsf20</artifactId>
		<version>1.0.5</version>
		<scope>compile</scope>
    </dependency>

 

out 07

Cordeiro com alecrim e alho ao molho de hortelã

Calma, você não está doido, e isso não tem a ver com programação nem investimento nem viagem, que são os assuntos que eu normalmente abordo por aqui.

Como diz o título do blog : “Um pouquinho de tudo, Tudo de nada”, hoje falarei do prato( muito gostoso por sinal) que eu e a patroa preparamos hoje!

Esse prato é bem simples de fazer, não é baratinho, mas serve bem umas 6 pessoas, então se for fazer as contas até que não sai tão caro.

Vamos ao que interessa, primeiro os ingredientes:

Para o cordeiro:

  • 1,5 kg de paleta de cordeiro;
  • Alguns ramos de alecrim fresco ;
  • Uma cabeça de alho;
  • Sal grosso e pimenta do reino;
  • Azeite;
  • Vinho tinto.

Para o molho:

  • Hortelã fresca;
  • Azeite
  • Vinho tinto
  • Sal grosso e pimenta

Modo de preparo:

Essa é a parte simples, basta colocar alguns  dentes de alho inteiros com casca e tudo sobre uma assadeira, junto com o alecrim. Faça cortes no cordeiro com a faca, para que fiquem sulcos no cordeiro. Em seguida coloque o cordeiro sobre o alho e o alecrim e coloque o restante de alho e alecrim sobre o cordeiro. Isso feito, derrame um pouco de azeite  sobre o cordeiro, não precisa dar um banho, só o suficiente para deixá-lo molhadinho!

Agora pré-aqueça o forno por uns 5 minutos e coloque a assadeira no forno. Agora é só deixar assar de 3 a 4 horas. E após a primeira hora coloque uns 150 ml de vinho tinto sobre o cordeiro.

Para fazer o molho é bem simples, basta colocar todos os ingredientes em um processador ou liquidificador e batê-los, tente dosar bem para que o sabor de um dos ingredientes não sobressaia, tente fazer o mais homogêneo possível.

—————————————-

Para acompanhar deixo a seu critério, aqui fizemos uma polenta, ou pra quem prefere é angu mesmo!

E como bebida recomendo fortemente este bordeaux da foto abaixo. Infelizmente só lembramos de tirar foto do cordeiro quando já tínhamos comido quase tudo!

Paleta de cordeiro assada                   

 

Espero que tenham gostado!