Datasource com JPA?

Olá!
Senhores, hoje tenho uma aplicação JSF que roda no tomcat(tlvz mude pra JBoss) com JPA.
Basicamente, tenho uma servlet filter que sempre abre a transação, executa o que precisa e comita a transação.
Estou tendo muitos problemas com isso, gostaria de deixar essa responsabilidade em outro lado, seja do container ou alguma API.

É possivel criar tipo de um datasource para JPA, onde eu chamaria algo do tipo:

:?:

Obrigado!

Não vejo como criar esse “DataSource” possa ser um problema, nem tão pouco, como isso iria ajuda-lo. Lembrando q o q vc está fazendo atualmente é um padrão JEE muito conhecido (Open Transaction in View) e fazer essa alteração pode acarretar em outros problemas caso o seu código confie nesse recurso.

Se fosse JBoss ou qualquer outro servidor de aplicações você poderia utilizar EJB e recursos da JTA, que iria cuidar das transações para você.

Sendo tomcat, você poderia utilizar Spring que te permite utilizar JTA em um container web.

Porém, verifique se realmente precisa deste recurso pois a aplicação irá ficar mais lenta e complexa. Possivelmente você terá problemas maiores.