sexta-feira, 10 de agosto de 2007

Problema: Tomcat + JDBC + Pool + PostgreSQL 8.2 + BLOB

Hoje eis que me surge um problema para corrigir... um projeto desenvolvido em Eclipse WTP, java 1.5, Tomcat 5.5.x, PostgreSQL 8.2...

Obs.: nesse projeto está sendo utilizado um Pool de Conexões, onde foi inserido no ${TOMCAT PATH}/common/lib o .jar do JDBC do PostgreSQL e também este estava no ${APPLICATION PATH}/WEB-INF/lib

e quando executava a aplicação e enviava um arquivo para ser inserido em um campo BLOB, gerava um erro: ClassCastException...

revissando a aplicação debugando para descobrir qual vinha ser o erro... verifiquei que na linha onde ocorria o erro ele tentava fazer um Casting do mesmo tipo de classe que indicava que estava na memória, porém gerava o erro citado anteriormente...

depois de uma busca no "Oraculo" ( Google ), verifiquei um post no Forum do PosgreSQL que abordava exatamente este mesmo assunto e eis a surpresa ao verificar o motivo do erro....

- "ter o .jar do JDBC na aplicação e no /common/lib"

Solução do problema: remover o .jar do JDBC do PostgreSQL do /WEB-INF/lib, feito isso a aplicação executa sem erros.

bom fica ae a dica, caso alguém tenha um problema similar...

---
Post no forum do PostgreSQL sobre o erro [link]
Post de resposta com a solução para o problema [link]