четвер, серпня 06, 2009

Особливості використання Toplink JPA на Tomcat


package es.claro.commons.ds;

import oracle.toplink.essentials.tools.sessionconfiguration.SessionCustomizer;
import oracle.toplink.essentials.sessions.Session;
import oracle.toplink.essentials.jndi.JNDIConnector;
public class DataSourceSessionCustomizer implements SessionCustomizer {

public DataSourceSessionCustomizer() {
}

public void customize(Session session) throws Exception {

JNDIConnector conn = (JNDIConnector)session.getLogin().getConnector();
conn.setLookupType(JNDIConnector.STRING_LOOKUP);
}
}


у war "WEB-INF\classes\META-INF\persistence.xml":

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="SamplePU" transaction-type="RESOURCE_LOCAL">
<provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
<non-jta-data-source>java:comp/env/jdbc/DefaultDS</non-jta-data-source>
<class>sample.MyEntity</class>
<properties>
<property name="toplink.session.customizer" value="es.claro.commons.ds.DataSourceSessionCustomizer"/>
</properties>
</persistence-unit>
</persistence>


Використання DataSource у програмі
у war "META-INF\context.xml":

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/sample">
<ResourceLink global="jdbc/MyRealDS" name="jdbc/DefaultDS" type="javax.sql.DataSource"/>
</Context>




Джерело:
Особливості використання Toplink JPA на Tomcat

Working with a non JTA DataSource in Toplink Essentials

Немає коментарів:

Чи подобається вам браузер Opera