Olá pessoal!
Estou com um problema para configurar o datasource no Jetty, abaixo segue as configs…
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="PUSACCTB" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>java:comp/env/jdbc/SACCTBDS</non-jta-data-source>
<class>......</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.connection.lc_ctype" value="ISO8859_1"/>
<property name="hibernate.default_schema" value="public"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="use_sql_comments" value="true"/>
</properties>
</persistence-unit>
</persistence>
web.xml
<resource-ref>
<description>SACCTB Data Source</description>
<res-ref-name>jdbc/SACCTBDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/SACCTB" reloadable="true" debug="0">
<Resource name="jdbc/SACCTBDS"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="20"
maxWait="5000"
username="***"
password="***"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/SACCTB">
</Resource>
</Context>
<Configure id='SACCTB' class="org.mortbay.jetty.webapp.WebAppContext">
<New id="SACCTBDS" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/SACCTBDS</Arg>
<Arg>
<New class="org.postgresql.ds.PGSimpleDataSource">
<Set name="User">***</Set>
<Set name="Password">***</Set>
<Set name="DatabaseName">SACCTB</Set>
<Set name="ServerName">localhost</Set>
<Set name="PortNumber">5432</Set>
</New>
</Arg>
</New>
</Configure>
Acima esta o datasource que utilizo no tomcat e funciona sem problemas agora no jetty lança a excetion:
Caused by: javax.naming.NameNotFoundException; remaining name 'env/jdbc/SACCTBDS'
at org.mortbay.naming.NamingContext.lookup(NamingContext.java:634)
at org.mortbay.naming.NamingContext.lookup(NamingContext.java:665)
at org.mortbay.naming.NamingContext.lookup(NamingContext.java:680)
at org.mortbay.naming.java.javaRootURLContext.lookup(javaRootURLContext.java:112)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
Alguem fez algo parecido no Jetty utilizando JPA(Hibernate) com datasorce e deu certo poste por favor :lol:
Desde já muito obrigado.
basta configurar o datasource igual ao que criei acima só que no tomcat fica no context.xml (META-INF) no jetty é jetty-env.xml (WEB-INF).