Tenho um limitadíssimo conhecimento sobre JEE e JBoss ( meu critério de escolha foi ser um dos mais conhecidos além de permitir clusterização, portanto aceito sugestões), mas gostaria de saber se é possível algo como um EntityManager para o Cassandra para que eu possa usa-lo com os módulos do JBoss via JPA.
Caso isso seja possível por favor indiquem algum material ou livro sobre assunto.
Não, não é possível. O JPA assume um a presença de um banco de dados relacional, coisa que o Cassandra não é.
O protocolo diz que, se você quiser fazer conexões remotas, deve vazer isso através do JCA (Java Connector Architecture), que define um meio de conexão da sua aplicação Java com um “sistema externo”. Não conheço muito JCA, não poderia te ajudar nessa questão.
Mas também nunca vi um servidor forçar isso, o que implica que você pode abrir conexões ao Cassandra num Servlet ou num EJB, apesar de não “abençoado” pela especificação do Java EE. Qualquer coisa, crie um Singleton pra criar uma conexão ao Cassandra. Ou então, se estiver usando JBoss 6, um Producer do CDI.
wallacetepes
Puxa… Sempre vi JPA como uma API para frameworks isolarem a persistência, não sabia dessa dependência relacional… .-.
Bem… Eu precisava rodar uma ferramenta de orquestração ou workflow só que ao mesmo tempo não posso depender de bancos de dado relacionais…
Será que eu consigo usar algo como o JPBM sem um SGBD ou pelo menos usar algum SGBD que fosse embeed a aplicação e que possa ganhar desempenho com clustering? ;/