cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From D Tim Cummings <...@triptera.com.au>
Subject Re: How to use JNDI in development
Date Sun, 27 Apr 2014 10:06:36 GMT
Thanks. Live class reloading is working now.

Tim

On 27 Apr 2014, at 10:06, Michael Gentry <mgentry@masslight.net> wrote:

> Hi Tim,
> 
> Yes, live class reloading (within the Tapestry realm --
> pages/components/services) works for me.  Make sure you are running
> your application in development mode instead of production mode.
> (Production mode is the default.)
> 
> If you look at the POM I shared with you, you'll see I have:
> 
>                        <systemProperty>
>                            <name>tapestry.production-mode</name>
>                            <value>false</value>
>                        </systemProperty>
> 
> This overrides the default when you run the application via Maven.
> 
> mrg
> 
> 
> 
> On Sat, Apr 26, 2014 at 4:54 PM, D Tim Cummings <tim@triptera.com.au> wrote:
> 
>> Hi Michael
>> 
>> Problem was a wrong case on the s in DataSource in my web.xml file
>> 
>> I had
>> 
>> <resource-ref>
>> <resource-ref-name>jdbc/db_tims</resource-ref-name>
>> <res-type>javax.sql.Datasource</res-type>
>> <res-auth>Container</res-auth>
>> </resource-ref>
>> 
>> But I should have had
>> 
>> <resource-ref>
>> <resource-ref-name>jdbc/db_tims</resource-ref-name>
>> <res-type>javax.sql.DataSource</res-type>
>> <res-auth>Container</res-auth>
>> </resource-ref>
>> 
>> So mvn jetty:run is working now for me. It just doesn't do live class
>> reloading in Tapestry project. Does live class reloading work for you?
>> 
>> Tim
>> 
>> On 26 Apr 2014, at 22:19, Michael Gentry <mgentry@masslight.net> wrote:
>> 
>> Hi Tim,
>> 
>> Given the exception:
>> 
>> Caused by:
>> java.lang.ClassNotFoundException: javax.sql.Datasource
>> 
>> I'm going to guess you perhaps forgot to include this dependency in the
>> POM?
>> 
>>       <dependency>
>>           <!-- Used by jetty:run to define JDNI data source -->
>>           <groupId>commons-dbcp</groupId>
>>           <artifactId>commons-dbcp</artifactId>
>>           <version>1.4</version>
>>           <scope>runtime</scope>
>>       </dependency>
>> 
>> mrg
>> 
>> 
>> On Fri, Apr 25, 2014 at 6:39 PM, D Tim Cummings <tim@triptera.com.au>
>> wrote:
>> 
>> Thanks Michael.
>> 
>> This is very handy. I downloaded cbe and was able to get it running
>> talking to a mysql database by changing the jndi config. Now I am trying to
>> retrofit config to my app and I get the following error when I do mvn
>> jetty:run. I have all the same dependencies and plugins (plus a few more)
>> although some of my versions are more recent.
>> 
>> [INFO] Scanning for projects...
>> [INFO]
>> 
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Building Tims App 0.0.8
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO]
>> [INFO] >>> jetty-maven-plugin:7.5.1.v20110908:run (default-cli) @ tims-app
>> 
>> 
>> [INFO]
>> [INFO] --- maven-cayenne-plugin:3.2M1:cgen (default-cli) @ tims-app ---
>> [INFO]
>> [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @
>> tims-app ---
>> [WARNING] File encoding has not been set, using platform encoding UTF-8,
>> i.e. build is platform dependent!
>> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
>> resources, i.e. build is platform dependent!
>> [INFO] Copying 33 resources
>> [INFO]
>> [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tims-app
>> ---
>> [INFO] Nothing to compile - all classes are up to date
>> [INFO]
>> [INFO] --- maven-resources-plugin:2.6:testResources
>> (default-testResources) @ tims-app ---
>> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
>> resources, i.e. build is platform dependent!
>> [INFO] skip non existing resourceDirectory
>> /Users/tim/github/tims-app/tims-app/src/test/resources
>> [INFO]
>> [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @
>> tims-app ---
>> [INFO] Nothing to compile - all classes are up to date
>> [INFO]
>> [INFO] <<< jetty-maven-plugin:7.5.1.v20110908:run (default-cli) @ tims-app
>> <<<
>> [INFO]
>> [INFO] --- jetty-maven-plugin:7.5.1.v20110908:run (default-cli) @ tims-app
>> ---
>> [INFO] Configuring Jetty for project: Tramanco Vehicle Weigh
>> [INFO] Webapp source directory =
>> /Users/tim/github/tims-app/tims-app/src/main/webapp
>> [INFO] Reload Mechanic: automatic
>> [INFO] Classes =
>> /Users/tim/github/tims-app/tims-app/target/tims-app/WEB-INF/classes
>> [INFO] Added extra scan
>> target:/Users/tim/github/tims-app/tims-app/src/main/resources
>> [INFO] Context path = /tims-app
>> [INFO] Tmp directory = /Users/tim/github/tims-app/tims-app/target/tmp
>> [INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
>> [INFO] Web overrides =  none
>> [INFO] web.xml file =
>> file:/Users/tim/github/tims-app/tims-app/src/main/webapp/WEB-INF/web.xml
>> [INFO] Webapp directory = /Users/tim/github/tims-app//src/main/webapp
>> [INFO] Starting jetty 7.5.1.v20110908 ...
>> 2014-04-26 08:28:40.142:INFO:oejs.Server:jetty-7.5.1.v20110908
>> 2014-04-26 08:28:41.030:INFO:oejpw.PlusConfiguration:No Transaction
>> manager found - if your webapp requires one, please configure one.
>> 2014-04-26 08:28:41.068:WARN:oejw.WebAppContext:Failed startup of context
>> 
>> o.m.j.p.JettyWebAppContext{/tims-app,file:/Users/tim/github/tims-app/tims-app/src/main/webapp/},file:/Users/tim/github/tims-app/tims-app/src/main/webapp/
>> java.lang.reflect.InvocationTargetException
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> 
>> org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:80)
>> at
>> 
>> org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:67)
>> at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:321)
>> at
>> 
>> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1211)
>> at
>> 
>> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:589)
>> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
>> at
>> 
>> org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:219)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>> at
>> 
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)
>> at org.eclipse.jetty.server.Server.doStart(Server.java:261)
>> at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:67)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:333)
>> at
>> 
>> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:273)
>> at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:548)
>> at
>> 
>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
>> at
>> 
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>> at
>> 
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>> at
>> 
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> 
>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>> at
>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>> at
>> 
>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>> at
>> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
>> Caused by:
>> java.lang.ClassNotFoundException: javax.sql.Datasource
>> 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
>> 
>> org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:415)
>> at
>> 
>> org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377)
>> at
>> 
>> org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1323)
>> at
>> 
>> org.eclipse.jetty.plus.webapp.PlusDescriptorProcessor.visitResourceRef(PlusDescriptorProcessor.java:245)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> 
>> org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:80)
>> at
>> 
>> org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:67)
>> at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:321)
>> at
>> 
>> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1211)
>> at
>> 
>> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:589)
>> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
>> at
>> 
>> org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:219)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>> at
>> 
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)
>> at org.eclipse.jetty.server.Server.doStart(Server.java:261)
>> at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:67)
>> at
>> 
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>> at
>> 
>> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:333)
>> at
>> 
>> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:273)
>> at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:548)
>> at
>> 
>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
>> at
>> 
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>> at
>> 
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>> at
>> 
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>> at
>> 
>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> 
>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>> at
>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>> at
>> 
>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>> at
>> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
>> 2014-04-26 08:28:41.087:INFO:oejs.AbstractConnector:Started
>> SelectChannelConnector@0.0.0.0:8088 STARTING
>> [INFO] Started Jetty Server
>> 
>> 
>> On 25 Apr 2014, at 23:43, Michael Gentry <mgentry@masslight.net> wrote:
>> 
>> Here is a pom.xml which includes the Jetty plugin:
>> 
>> https://github.com/mrg/cbe/blob/master/WebApplications/pom.xml
>> 
>> And a jetty-env.xml which defines the JNDI lookup:
>> 
>> 
>> 
>> https://github.com/mrg/cbe/blob/master/WebApplications/src/main/webapp/WEB-INF/jetty-env.xml
>> 
>> 
>> mrg
>> 
>> 
>> 
>> On Fri, Apr 25, 2014 at 9:40 AM, Michael Gentry <mgentry@masslight.net
>> 
>> 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 <tim@triptera.com.au
>> 
>> 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
>> 
>> 
>> 
>> 
>> 
>> 
>> 


Mime
View raw message