Our Hibernate setup works fine in non-GWT projects. I'm using Eclipse Indigo, Google Suite Plugin 2.5, Google GWT Designer 2.4.2.
The short-short version is that the MysqlConnectionPoolDataSource class from jetty-env.xml is evidently not getting instantiated, causing the resource reference from web.xml to fail. Here are the steps I took and excerpts of files that I think matter. (Apologies in advance - this is a bit verbose but wanted to be sure my question is complete and clear.) My war/WEB-INF/classes/hibernate.cfg.xml includes: <property name="hibernate.connection.datasource"> *java:comp/env/jdbc/nndb * </property> A service class AuthenticateServiceImpl.authenticate(Credentials c) calls DAOFactory.getDefaultInstance().getCustomerDAO(); The above works fine in my pure tomcat (non-GWT project). But in the GWT project it fails with: SEVERE: Could not find datasource: java:comp/env/jdbc/nndb javax.naming.NameNotFoundException; remaining name 'jdbc/nndb' So, I added following entry to web.xml: <resource-ref> <description>NN Database Connection Pooling</description> <res-ref-name>*jdbc/nndb*</res-ref-name> <res-type>*javax.sql.DataSource*</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> and also created CustomJettyLauncher as described here<http://webtide.intalio.com/2011/08/gwt-and-jndi/> . and added Eclipse run config to use it (Run Config Arguments -server com....CustomJettyLauncher) This results in: jetty-6.1.x [WARN] Configuration problem at <resource-ref><description>NN Database Connection Pooling</description><res-ref-name>jdbc/nndb</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth><res-sharing-scope>Shareable</res-sharing-scope></resource-ref> java.lang.IllegalStateException: Nothing to bind for name * javax.sql.DataSource/default* Presumably at this point I need an entry in either the jetty-env.xml or jetty-web.xml file (which?) defining the resource. I tried 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.mortbay.jetty.webapp.WebAppContext"> <New id="nndb" class="org.mortbay.jetty.plus.naming.Resource"> <Arg>j*dbc/nndb*</Arg> <Arg> <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"> <Set name="Url">jdbc:mysql://*dbserver/dbname*</Set> <Set name="User">*dbuser*</Set> <Set name="Password">*dbpasswd*</Set> </New> </Arg> </New> </Configure> But the above error (Nothing to bind for name javax.sql.DataSource/default) remains. Interestingly, if I intentionally bugger up the datasource classname (e.g. NOSUCH.com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource) there's no gripe, so it may not even be trying to instantiate that class. (Similar "tracer" errors for WebAppContext and Resource *DO* produce gripes, so it's only ConnectionPoolDataSource that it's not trying to instantiate.) I also tried using a jetty-web.xml file but that is evidently not getting read at all. Whew! Does anyone see what's wrong? Any recommendations would be greatly appreciated. Thanks in advance! -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/zV3tAutRFVUJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.