Tuesday, January 17, 2012

System property rdbms.driver must be set

I'm trying to run Cloud SQL on the local dev server and I get this
exception.

I've set these system properties from the command line and verified
that they are set before I try and get a connection:

-Drdbms.server=local -Drdbms.driver=com.mysql.jdbc.Driver -
Drdbms.url=jdbc:mysql://localhost:3306/admindb?user=xxx;password=yyy

I've also downloaded the mysql-connector-java-5.1.18-bin jar and added
it to my application and classpath.

Also, I'm not using Eclipse.

Can anyone tell me how to get rid of this exception?

Thanks,

Tom

[java] java.lang.IllegalStateException: System property rdbms.driver
must be set.
[java] at
com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver.registerDriver(LocalRdbmsServiceLocalDriver.java:
80)
[java] at
com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver.init(LocalRdbmsServiceLocalDriver.java:
73)
[java] at
com.google.appengine.api.rdbms.dev.LocalRdbmsService.init(LocalRdbmsService.java:
85)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl.startServices(ApiProxyLocalImpl.java:
581)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl.access
$700(ApiProxyLocalImpl.java:46)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl
$2.run(ApiProxyLocalImpl.java:564)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl
$2.run(ApiProxyLocalImpl.java:562)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl.getService(ApiProxyLocalImpl.java:
561)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl.resolveDeadline(ApiProxyLocalImpl.java:
233)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl.doAsyncCall(ApiProxyLocalImpl.java:
214)
[java] at
com.google.appengine.tools.development.ApiProxyLocalImpl.makeSyncCall(ApiProxyLocalImpl.java:
147)
[java] at
com.googlecode.objectify.cache.ListenableHook.makeSyncCall(ListenableHook.java:
116)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at
com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
104)
[java] at com.googlecode.objectify.cache.ListenableHook
$1.invoke(ListenableHook.java:172)
[java] at $Proxy38.makeSyncCall(Unknown Source)
[java] at
com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:101)
[java] at com.google.appengine.api.rdbms.RdbmsApiProxyClient
$ApiProxyBlockingInterface.makeSyncCall(RdbmsApiProxyClient.java:89)
[java] at com.google.appengine.api.rdbms.RdbmsApiProxyClient
$ApiProxyBlockingInterface.openConnection(RdbmsApiProxyClient.java:75)
[java] at
com.google.cloud.sql.jdbc.internal.SqlProtoClient.openConnection(SqlProtoClient.java:
58)
[java] at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:
59)
[java] at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:
26)
[java] at
java.sql.DriverManager.getConnection(DriverManager.java:582)
[java] at
java.sql.DriverManager.getConnection(DriverManager.java:207)
[java] at com.kintris.kiim.entity.IS
$Stat.getDBConnection(IS.java:550)
[java] at com.kintris.kiim.entity.IS$Stat.getDbItemCount(IS.java:
841)
[java] at
com.kintris.kiim.rest.resources.StatsResource.getStats(StatsResource.java:
55)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at
com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
104)
[java] at com.sun.jersey.spi.container.JavaMethodInvokerFactory
$1.invoke(JavaMethodInvokerFactory.java:60)
[java] at
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider
$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:
185)
[java] at
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:
75)
[java] at
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:
288)
[java] at
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:
108)
[java] at
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:
147)
[java] at
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:
84)
[java] at
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:
1469)
[java] at
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:
1400)
[java] at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:
1349)
[java] at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:
1339)
[java] at
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:
416)
[java] at
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:
537)
[java] at
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:
699)
[java] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
[java] at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
[java] at
com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:
35)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
[java] at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
60)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
[java] at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
[java] at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
[java] at
com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:
97)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
[java] at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
[java] at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
[java] at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
[java] at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
[java] at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
[java] at
com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
78)
[java] at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
[java] at
com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:362)
[java] at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
[java] at org.mortbay.jetty.Server.handle(Server.java:326)
[java] at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
[java] at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
[java] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:
547)
[java] at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
[java] at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
[java] at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
[java] at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)

1 comment:

  1. Did you end up getting this working? I have exactly the same problem.

    ReplyDelete