Estava tendo problemas de acesso a minha aplicação hospedada na locaweb, uso JPA e Hibernate e a solução proposta por eles a esse problema foi usar um Datasource JNDI para pegar a conexão;
codigo do datasource no tomcat
<Resource
name="jdbc/teste"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
username="root"
password="x"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/eletro?autoReconnect=true"
maxActive="5"
maxIdle="5"
maxWait="15000"
validationQuery="select current_date"
removeAbandoned="true"
removeAbandonedTimeout="30"
logAbandoned="true" />
Até aí tudo bem, porém para recuperar a conexão me indicaram esse exemplo (que funciona)
Context context = new InitialContext();
Context envCtx = (Context) context.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/teste");
Connection conexao = ds.getConnection();
o meu problema é que tenho que recuperar uma fábrica: EntityManagerFactory para poder criar meus EntityManager’s pelo datasource JNDI.
Alguém sabe como posso fazer?
Já passaram por problemas parecidos na locaweb?
