Hi All,

I have the same problem when I connect to MySQL database,

What I understand from the GWT doc, whatever server side scripts we
have to in .server package and this will be on server side on host
mode when we debug the application.

here is the scenario

I can get the data from the server side if there is no database
connection, everything works fine, the moment I run database
connection method

I get errors! narrowing the problem i tried to load the class
(Class.forName(DRIVER)) only.. it seems class is loaded (i get no
errors) but the moment I run
connection = DriverManager.getConnection(URL,USER,PASS); method will
cause the problem .. if this is an sql error, should be caught ??

mind you
my mysql connector is in proper dirs (otherwise I can't load DRIVER ).

Do I need to set $catalina.home for hosted mode? then can someone help
to do it (im using eclipse plugin)

Can someone come up with an answer, prefer small script to
understand...

here is the stack trace I got

Sep 21, 2009 12:05:02 PM
com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: [1253534702085000] javax.servlet.ServletContext log: Exception
while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method
'public abstract java.lang.String
com.pro.student.client.GreetingService.greetServer(java.lang.String)'
threw an unexpected exception: java.lang.ExceptionInInitializerError
        at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure
(RPC.java:360)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:546)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:166)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:86)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
        at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
        at com.google.appengine.tools.development.StaticFileFilter.doFilter
(StaticFileFilter.java:121)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
        at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:360)
        at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
        at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle
(DevAppEngineWebAppContext.java:54)
        at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
        at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:313)
        at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:313)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content
(HttpConnection.java:844)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
        at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:396)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run
(BoundedThreadPool.java:442)
Caused by: java.lang.ExceptionInInitializerError
        at com.mysql.jdbc.NonRegisteringDriver.connect
(NonRegisteringDriver.java:283)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at com.pro.student.server.GreetingServiceImpl.db
(GreetingServiceImpl.java:52)
        at com.pro.student.server.GreetingServiceImpl.greetServer
(GreetingServiceImpl.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:592)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:527)
        ... 27 more
Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission modifyThreadGroup)
        at java.security.AccessControlContext.checkPermission
(AccessControlContext.java:264)
        at java.security.AccessController.checkPermission
(AccessController.java:427)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:
532)
        at com.google.appengine.tools.development.DevAppServerFactory
$CustomSecurityManager.checkPermission(DevAppServerFactory.java:139)
        at com.google.appengine.tools.development.DevAppServerFactory
$CustomSecurityManager.checkAccess(DevAppServerFactory.java:166)
        at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:288)
        at java.lang.Thread.init(Thread.java:310)
        at java.lang.Thread.<init>(Thread.java:358)
        at java.util.TimerThread.<init>(Timer.java:456)
        at java.util.Timer.<init>(Timer.java:71)
        at java.util.Timer.<init>(Timer.java:122)
        at com.mysql.jdbc.ConnectionImpl.<clinit>(ConnectionImpl.java:208)
        ... 37 more





On Sep 3, 7:21 am, GumbyGWTBeginner <stephan.gump...@gmail.com> wrote:
> Hi Guys,
>
> Was wondering if anyone could answer a small question?
>
>  I have created a class called DBFlow  (Code below) which connects to
> aMySQLDB and retrieve the number of rows in a DB.
>
> I am new at this could anyone throw some light on the subject.
>
> ****************Error Message****************
>
> [ERROR] Line 51: The method forName(String) is undefined for the type
> Class
>
> ****************Code to Call Class****************
>
>                   DBFlow TestTheDB = new DBFlow();
>                   TestTheDB.main();
>
> ****************Class Code****************
>
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.Statement;
> import java.lang.Class;
> import com.google.gwt.user.client.Window;
>
> public class DBFlow {
>
>         public void onModuleLoad() {
>                 //sdsd
>
>         }
>
>         public DBFlow() {
>                 //sdsd
>
>         }
>
>         public void main() {
>                Connectionconn = null;
>                 try {
>                         conn = getConnection();
>                         String tableName = "family";
>                         Window.alert("tableName=" + tableName);
>                         Window.alert("conn=" + conn);
>                         Window.alert("rowCount=" + countRows(conn, 
> tableName));
>                 } catch (Exception e) {
>                         Window.alert("No Connect");
>                         e.printStackTrace();
>                         //System.exit(1);  // Edit out as it is an erro
>                 } finally {
>                         // releasedatabaseresources
>                         try {
>                                 conn.close();
>                         } catch (SQLException e) {
>                                 e.printStackTrace();
>                         }
>                 }
>         }
>
>         publicConnectiongetConnection() throws Exception {
>                 String driver = "com.mysql.jdbc.Driver";
>                 String url = "jdbc:mysql://localhost:3306/dogs";
>                 String username = "root";
>                 String password = "mypass";
>
>                 Class.forName(driver); // loadMySQLdriver
> ***************************************Error here apprantly
>                Connectionconn = DriverManager.getConnection(url, username,
> password);
>                 return conn;
>         }
>
>         public int countRows(Connectionconn, String tableName) throws
> SQLException {
>            // select the number of rows in the table
>                 Statement stmt = null;
>                 ResultSet rs = null;
>                 int rowCount = -1;
>                 try {
>                         stmt = conn.createStatement();
>                         rs = stmt.executeQuery("SELECT COUNT(*) FROM " + 
> tableName);
>                         // get the number of rows from the result set
>                         rs.next();
>                    rowCount = rs.getInt(1);
>                 } finally {
>                         rs.close();
>                         stmt.close();
>                 }
>                 return rowCount;
>         }
>
>
>
> }

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to