Thanks Richard I had found the JNDI option but I wasn't sure how to set the JNDI configuration. I tried adding the jetty-env.xml as suggested by Michael but got class errors.
Do you have to add any jars to Jetty Classpath > Custom Jetty Classpath in the run configurations. I have added mysql-connector-java-5.1.26.jar and commons-dbcp-1.4.jar I suspect you are right about matching Jetty version to Jetty configuration. Do you have a complete example of configuration and versions which work? With the following jetty-env.xml <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure class="org.eclipse.jetty.webapp.WebAppContext"> <New id="ds" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg>jdbc/db_tims</Arg> <Arg><New class="org.apache.commons.dbcp.BasicDataSource"> <Set name="driverClassName">com.mysql.jdbc.Driver</Set> <Set name="url">jdbc:mysql://localhost/tmc_tims?autoReconnect=true</Set> <Set name="username">tmc_tims</Set> <Set name="password">not_secret</Set> <Set name="initialSize">1</Set> <Set name="minIdle">1</Set> <Set name="maxActive">10</Set> <Set name="maxIdle">2</Set> </New> </Arg> </New> </Configure> I am getting the following errors. Loading Jetty.xml:/Users/tim/github/tims-app/tims-app/src/main/webapp/WEB-INF/jetty-env.xml Exception happened when loading Jetty.xml: java.lang.IllegalArgumentException: Object of class 'org.eclipse.jetty.server.Server' is not of type 'org.eclipse.jetty.webapp.WebAppContext'. at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:318) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:279) at runjettyrun.Bootstrap.main(Bootstrap.java:66) 2014-04-26 08:51:26.238:INFO:oejs.Server:jetty-7.6.2.v20120308 2014-04-26 08:51:26.350:WARN:oejuc.AbstractLifeCycle:FAILED o.e.j.w.WebAppContext{/tims-app,[file:/Users/tim/github/tims-app/tims-app/src/main/webapp/]}: java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) at java.lang.Class.getConstructors(Class.java:1517) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:751) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1082) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:997) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:744) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:386) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:320) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:279) at org.eclipse.jetty.plus.webapp.EnvConfiguration.configure(EnvConfiguration.java:119) at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:429) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1217) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:455) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) at org.eclipse.jetty.server.Server.doStart(Server.java:261) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at runjettyrun.Bootstrap.main(Bootstrap.java:82) Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool.KeyedObjectPoolFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) On 26 Apr 2014, at 4:16, Richard Frovarp <[email protected]> wrote: > RunJettyRun handles JNDI. Just tick the Show Advanced Options, then choose > JNDI. Make sure your Jetty JNDI configuration matches your Jetty version. I > think Jetty 7+ changed package names. > > > On 04/25/2014 08:40 AM, Michael Gentry wrote: >> Hi Tim, >> >> RunJettyRun uses plain Jetty and not Jetty+ (which includes the JNDI >> extension). What I do in my development is use the Jetty Maven plugin and >> then just use Maven to run Jetty. Has worked pretty well so far for me. >> >> >> On Thu, Apr 24, 2014 at 9:38 PM, D Tim Cummings <[email protected]> wrote: >> >>> Hi >>> >>> I am using cayenne in a tapestry project and my final deployment will be >>> in Tomcat 7 using JNDI for defining the data source. I am developing in >>> Eclipse 4.3.1 and would like my development environment to be as close to >>> deployment as possible. What is the recommended way of using JNDI in >>> development. >>> >>> I have tried the instructions on >>> >>> http://tynamo.org/Developing+with+Tomcat+and+Eclipse >>> >>> using sysdeo tomcat plugin for eclipse. I haven't been able to get it to >>> read the jndi information. >>> >>> Apr 25, 2014 11:25:40 AM org.apache.catalina.deploy.NamingResources >>> addResource >>> WARNING: Failed to create MBean for naming resource [null] >>> >>> I have tried using RunJettyRun but get. >>> >>> Exception happened when loading Jetty.xml: >>> java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jndi.Resource >>> >>> >>> RunJettyRun works great when I configure cayenne-project.xml to >>> XMLPoolingDataSourceFactory but I don't want to have to keep switching >>> between this and JNDI when ready to deploy. I would also prefer to use >>> tomcat in dev so it is same as prod. >>> >>> JNDI works great when I build a war file and deploy to tomcat but that >>> would slow my development if I had to do that every time. >>> >>> I don't necessarily have to solve these problems if you can recommend an >>> alternative way of keeping database config separate to the war. The war >>> will be deployed by unskilled users on Windows and skilled users on Linux >>> and Mac so I am trying to keep the steps to deploy simple and not hard code >>> absolute paths of properties files into my app. >>> >>> Thanks >>> >>> Tim >>> >> >
signature.asc
Description: Message signed with OpenPGP using GPGMail
