sexta-feira, junho 23, 2006
Trabalhando com Dominios Virtuais no GlassFish
ps: O GlassFish utiliza uma implementacao do Tomcat modificada ( trocaram o suporte de I/O nativo por um suporte totalmente reescrito usando java.nio) chamado Grizzly
quarta-feira, junho 21, 2006
Java EE 5 virou musica :P
The Java EE 5 Music !
Ladies and gentlemen, this is Java EE 5!
One, two, three, four, five
There's a technology I use day and night
For my application with a web frontend
They told me to use .Net
But I really don´t wanna
So many bugs I fixed last week.
My code is neat and talk is a cheap
I like Glassfish, JSF, persistence API
And as I continue you know they´re gettin´ sweeter
So what can I do I really beg you my Lord
To me codin' it´s just like a sport
All the bad code from the past, let me dump it
Please set in the trumpet
A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man
This is Java EE 5!
Jump up and down and move your code around
Shake your head to the sound bury bad code under ground
Move one step left and one step right
One to the front and one to the side
Refactor it once and refactor it twice
If it looks like this you're doin´ it right
A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's is what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man
This is Java EE 5!
NetBeans 5.5 Enterprise Pack e UML
Quem usou alguma vez o EclipseUML sabe do que estou falando...
NetBeans e Ajax !
NetBeans 6 mais colorido !
NetBeans Mobility Pack Demo
não é um bicho de sete cabeças... Demo bastante completo...
Porque desenolvedores Eclipse estão tentados a ir para o NetBeans ?
Motivo 1
Motivo 2
Motivo 3
domingo, junho 18, 2006
Mais um louco no pário
What's New in Java SE 6 Beta 2 (Mustang)

Muito se fala em .Net 2.0 no mercado, qual seria a resposta da Sun ? Armada até os dentes a Sun responde com JEE 5 + Java SE 6 + NetBeans 6 , mostrando assim a força da comunidade OpenSource aliada com a interminal lista de adoradores da plataforma Java. O Java SE 6 chega a sua versão beta 2, com várias novidades :
WebServices
Scripting
Java SE 6 tem consigo a implementação da JSR que regulamenta a utilizacao de linguagens de scripting para a plataforma Java , Nesta versão esta esperada implementação da linguagem ECMA Script (JavaScript). JavaScript é apenas uma das linguagens possiveis , caso vc seja um cabeção poderá implementar a sua propria engine ;)
DataBase
Java SE 6 SDK trará o JavaDB inbutido. JavaDB é uma "cópia turbinada" do banco de dados da Apache chamada Derby. Interessante , o driver JDBC já estará incluso tambem , porem apenas no JDK , o JRE continuará sem. Issó é interessante para aquelas horas em que você quer rodar um exemplo e nao tem nenhum DB instalado para isto. Outra coisa empolgante é o JDBC 4.0 , a nova especificação do JDBC deixou tudo muito mais interessante, várias funcionalidades "a lá entity" foram adicionadas, deixando cada vez mais pratica a programação JDBC direta ( o pessoal fã de DAO vai adorar)
Novas API's para Desktop
Splash Screen , Filtros e ordenação com JTable , suporte mais apurado para Drag and Drop, eficiencia da HotSpot Client VM de até 58% superior em apps com Swing e SwingWorker no CORE são apenas alguns exemplos das novidades contidas nesta versão do Java SE.
Uma lista mais apurada pode ser encontrada aqui. O que é o mais interessante é que enquanto .Net tras um monte de baboseiras que TODO MUNDO JÁ VIU e chama isso de NOVIDADE , a plataforma Java chega a sua versão 6 de forma madura e estável, com novidades plausiveis e aprovadas por quem mais entende de software no MUNDO , os desenvolvedores.
sábado, junho 17, 2006
Férias...
quinta-feira, junho 08, 2006
WebBeans !
quarta-feira, junho 07, 2006
Why GlassFish ?

• Java EE 5 is a huge improvement over earlier J2EE versions (J1 Keynotes).
• GF is Production Quality and has very Good Performance.
• GF is delivered in SJS AS 9.0, Java EE 5 SDK, and NetBeans 5.5.
• GF has already affected adoption and is getting analyst attention [1], [2].
• GF is used by other groups like in JEUS 6 Preview from TMaxSoft.
• GF has many goodies, including Java DB and Java Blueprints.
• GF is committed to your favorite framework.
• GF is at the forefront of JPA adoption.
• GF Web Services stack is very good and it is getting better and better.
• GF's Grizzly delivers top Web Tier performance and flexibility.
• GF has Developer Support, Training and more.
• GF supports AJAX and Scripting.
• GF has platform and tool SOA support, including JBI and BPEL.
• GF is used directly for the official Reference Implementation of Java EE 5.
• GF is the code base for the Sun Java System Application Server.
• GF will incorporate the enterprise features available today in SJS AS 8.x.
• Many components are in the Maven Repository; and more soon.
• We are already working on the next releases (more).
segunda-feira, junho 05, 2006
IoC em JSF Custom Validators/Converters
h:inputText value="#{bean.prop}" validator="#{biz.validate}"
public class Biz {
@EJB
private MyLittleLocal localBean;
public void validate(FacesContext, UIComponent, Object)
throws ValidationException {
if (!localBean.bizTest((BizObject) obj)) {
throw new ValidationException(...);
}
}
}E viva o JEE 5 hehe :P
sexta-feira, junho 02, 2006
Hibernate 3 & EJB 3
Caused by: javax.persistence.PersistenceException:
org.hibernate.cache.CacheException: Attempt to
restart an already started EhCacheProvider.
Use sessionFactory.close() between repeated calls
to buildSessionFactory. Consider using
net.sf.ehcache.hibernate.SingletonEhCacheProvider.
Error from ehcache was: Cannot parseConfiguration
CacheManager. Attempt to create a new instance of
CacheManager using the diskStorePath "/tmp" which
is already used by an existing CacheManager.
arrumarem essa desgrama do
EhCache 1.2 eu resolvi o problema trocando ele
por outro provedor de cache mais simples,
vá até seu persistence.xml e adicione esta linha:
property name="hibernate.cache.provider_class"Agora a coisa toda volta a funcionar , espero que arrumem isso logo...
value="org.hibernate.cache. HashtableCacheProvider"
pois o EhCache é um provider bem completo.
quinta-feira, junho 01, 2006
Resources no JEE 5
@Resource(name="jdbc/ConexaoSistemaUsuarios")
private DataSource dsUsSys;
Pronto , logo que ouver a criação do seu bean o container vai inserir o resource diretamente na sua propriedade dsUsSys , sem haver a necessidade de codigo de lookup entre outros. Veja outros exemplos:
Resource de JMS
Resource de Email@Resource(name="jms/MinhaQueue")private Queue minhaQueue;
O IoC do JEE 5 tem bastante particularidades , veja aqui algo mais completo sobre esse recurso.@Resource(name="mail/MyMail")
private javax.mail.Session ms;
Resource de Contexto do EJBResource de TimerService@Resource
javax.ejb.SessionContext ctx@Resource
javax.ejb.TimerService ts;
Utilizando Hibernate no GlassFish
- Realize o Download e Instale o GlassFish v2 b05 ( ou mais atual , eu testei com o b03)
- Realize o Download do Hibernate 3.2Cr2 ( ou mais atual )
- Realize o Download do Hibernate EntityManager 3.2Cr2 ( ou mais atual )
- Copie os arquivos para o diretorio "lib"do glassfish , este script ajuda você a saber quais arquivos copiar, mas atenção , alguns arquivos podem estar atualizados e você deve copiar na mão aqueles que derem erro no script
- Acerte seu arquivo persistence.xml como neste exemplo
- Reinicie o GlassFish e faça o redeploy de sua aplicação
quarta-feira, maio 31, 2006
Glasfish v2 build 04

GlassFish v2 b04
Building an Open Source Java EE 5 Application Server
Enterprise Java Beans 3
Realmente eu tinha motivos para estar animado com a nova versão do trio parada dura... se mostraram MUITO tranquilos de se mecher , e o IoC provido pelo container é extremamente funcional, nao me deixou na mao ainda :P Trabalhar com JTA + Entity Beans é simplesmente perfeito , o EntityManager provem uma interação transparente para a persistencia ( o EntityMAnager é uma especie de "session"do hibernate que é injetada via IoC no bean , é só colocar @PersistentContext private EntityManager em , pronto , é só sair usando). Uma coisa boa tambem das Entity Beans é o mapeamento ser feito totalmente via Annotations, outra vantagem disso é que existem Tools bem avançados para engenharia reversa JDBC->Entiy Beans , tem o HibearnateTools e o NetBeans 5.5. Tive alguns probleminhas para me adaptar com o TopLink (um "hibernate"da Oracle que vem por padrao no GlassFish) , as mensagens de erro dele são muito confusas, entao fiz o que parecisa impossivel hj em dia , troquei o TopLink por Hibernate 3.2, isso mudando uma linha no persistence.xml , puft ! tudo funcionando e consegui pegar a mensagem de erro e arrumar( sim o Hibernate funciona perfeitamente no GlassFish , afinal o Hibernate 3.2 e a implementação da JSR 220). Um ponto negativo é que o mapeamento tornou-se um pouco mais complicado que os hbm.xml , ainda mais prq o help ainda é muito escasso ( e eu nao to afim de ler a spec da jsr 220)
Oracle TopLink (ORM)
Tirando as mensagens de erro muito pouco explicativas , ele se mostrou bastante estavel. Acho que é uma questao de costume até adaptar-se com sua forma de expressar os problemas. O que me deixou muito feliz foi o fato de poder substituir o sistema de persistencia INTEIRO apenas trocando uma linha de um XML ( que ao contrario dos XML do EJB 2.1 , tinha apenas 5 linhas).
Grizzy (Web Server)
Se mostrou estavel e performatico(se eh que esta palavra existe) , fiquei feliz em saber que o pessoal da Sun pegou o tomcat e recodificou a parte de I/O usando a java.nio , deixando assim mais turbinado, mas nao usei MUITOS recursos dele... o legal é a configuração , que é feita pelo adminConsole , MUITO BOM, experimente.
NetBeans 5.5 Beta Integration
Tirando alguns problemas com o utilitario de engenharia reversa JDBC->EntityBeans dele , o resto foi muito bom , e estavel... Baixei o Build Noturno de hoje e percebi que o pequeno "probleminha"já foi resolvido... menos mal. A integração é perfeita , além do Deployment remoto , ele oferece uma administração parcial via IDE mesmo , sem a necessidade de entrar no adminConsole via web.
JavaServer Faces 1.2
Bem , não testei muito , mas o pouco que testei se mostrou estavel... estou usando ele com o Tomahawk 1.1.2 , esta perfeito, mas os testes definitivos vou começar a realizar esta semana.
WebServices
Ainda nao testei o suficiente.
Resumindo , esta valendo bastante a pena.... mas fiquem de olho , problemas existem e estarei relatando aqui logo que encontrar eles. JEE 5 esta se mostrando muito produtivo e ao mesmo tempo empolgante, afinal , onde antes existiam quilos de codigo repetitivo , agora isso sumiu , e para quem integrava EJB 2.1 com Hibernate , tem uma felicidade maior , afinal , session.getCurrentSession() nunca mais.
Para aqueles que tem hibernate e estao pesando em migrar para Entiy Beans 3 , a sintaxe muda bastante, principalmente nos mapeamentos ( se vc usar hibernate Annotations fica igual) , mas o que mais muda são a remoção de codigo que antes era necessario e agora não é mais... Isso pode exigir as vezes até um refactoring do seu projeto inteiro ( pelo menos para mim precisou., no meu caso eu separei o que antes era só JSF para EJB + JSF )
segunda-feira, maio 29, 2006
Código fonte do Java Disponível
domingo, maio 28, 2006
Eclipse 3.2

Espero sinceramente que o pessoal do JBossIDE tome vergonha na cara e aprenda a desenvolver um plugin menos inutil.