2012-04-26 2 views
3

Я не могу получить свой источник данных, добавленный с помощью плагина jetty-maven. Ошибок не возникает, но когда я смотрю в контексте, источник данных не был добавлен. Я проверил, что путь к файлу верен и что он его разбирает (ввод неправильных имен классов приводит к ошибкам). Я попытался использовать тег и настроить как конфигурацию WebAppContext, но этот файл полностью игнорируется.jetty-maven-plugin не добавляет ресурс источника данных JNDI из Jetty.xml

pom.xml

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>8.1.3.v20120416</version> 
    <configuration> 
    <jettyXml>somePath/jetty.xml</jettyXml> 
    </configuration> 
    <dependencies>   
    <dependency> 
    <groupId>postgresql</groupId> 
    <artifactId>postgresql</artifactId> 
    <version>9.0-801.jdbc4</version> 
    </dependency> 
</dependencies> 
</plugin> 

jetty.xml

<Configure class="org.eclipse.jetty.server.Server"> 

<New id="jdbc/postgres" class="org.eclipse.jetty.plus.jndi.Resource"> 
    <Arg>jdbc/postgres</Arg> 
    <Arg> 
     <New class="org.postgresql.ds.PGSimpleDataSource"> 
      <Set name="User">postgres</Set> 
      <Set name="Password">postgres</Set> 
      <Set name="DatabaseName">myDB</Set> 
      <Set name="ServerName">localhost</Set> 
      <Set name="PortNumber">5432</Set> 
     </New> 
    </Arg> 
</New> 

Java Code

Context ctx = new InitialContext(); 
Context context = (Context) ctx.lookup("java:comp/env"); 
ds = (DataSource) context.lookup("jdbc/postgres"); 

Любая помощь будет оценена.

+0

У меня аналогичная проблема, и кажется, что мол не является настроенный defaukt с jndi. Я ищу конфигурацию, но это сложно. http://docs.codehaus.org/display/JETTY/JNDI –

ответ

0

Или просто добавить в свой web.xml:

<resource-ref> 
    <res-ref-name>jdbc/postgres</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 
Смежные вопросы