Bonjour,
sous ubuntu 10.10, je suis en train de développer un servlet dans une
"web application project" sous eclipse grace au SDK GWT app engine (2)
- 1.4.2.
Dans un premier temps j'utilise un appel RPC pour établir la connexion
avec mon serveur.
j'execute donc le servlet coté serveur avec le code suivant:
Connection conn = null;
// figure out what server this application is being
hosted on
String url = "jdbc:mysql://localhost:3306/PMDB";
//String db = "PMDB";
String driver = "com.mysql.jdbc.Driver";
String user = "casta";
String pass = "monpassword";
System.out.println("connection SQL url: " + url);
try {
Class.forName(driver).newInstance();
System.out.println("DEBUG MySQL JDBC driver
loaded ok.");
conn =
DriverManager.getConnection(url,user,pass);
System.out.println("DEBUG MySQLConnected with
"+url);
} catch (Exception e) {
// error
System.err.println("DEBUG Mysql Connection
Error: ");
// for debugging error
e.printStackTrace();
}
if (conn == null) {
System.out.println("DEBUG ~~~~~~~~~~ can't get
a Mysql connection");
}
=> dans un premier temps, je souhaite utiliser le host "localhost"
pour la mise en place. Je verrai dans un 2eme temps pour faire un vrai
deploiement sur un serveur dédié...
j'obtiens toujours le message "Mysql Connection Error: "
avec la trace:
connection SQL url: jdbc:mysql://localhost:3306/PMDB
DEBUG MySQL JDBC driver loaded ok.
DEBUG Mysql Connection Error:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
Could not create connection to database server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at
com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:
112)
at
com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:
120)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.Util.getInstance(Util.java:382)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:
2413)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:
2163)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at
com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:
112)
at
com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:
120)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
at
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:
305)
at java.sql.DriverManager.getConnection(DriverManager.java:620)
at java.sql.DriverManager.getConnection(DriverManager.java:200)
at com.casta.pm.server.DB_Conn.getConn(DB_Conn.java:68)
at com.casta.pm.server.DB_PMDB.getAllJoueurData(DB_PMDB.java:36)
at
com.casta.pm.server.RpcCallServiceImpl.getAllJoueurData(RpcCallServiceImpl.java:
28)
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:616)
at
com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
100)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
569)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:
248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:
62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
58)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
70)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:351)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.content(HttpConnection.java:938)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.security.AccessControlException: access denied
(java.net.SocketPermission localhost resolve)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:
342)
at
java.security.AccessController.checkPermission(AccessController.java:
553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:
549)
at com.google.appengine.tools.development.DevAppServerFactory
$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1048)
at java.net.InetAddress.getAllByName0(InetAddress.java:1189)
at java.net.InetAddress.getAllByName(InetAddress.java:1128)
at java.net.InetAddress.getAllByName(InetAddress.java:1064)
at
com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:
244)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:295)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:
2334)
at
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:
2371)
... 53 more
DEBUG ~~~~~~~~~~ can't get a Mysql connection
voici un 'tree' de mon war directoty
.
|-- pm
| |-- 0A9476898799A150D840F0B1C3672921.cache.png
| |-- 14C623196EE1650CDC1BD9B9B7C2A0B1.cache.html
| |-- 396F806CD63ABD414BFBB9D57429F05B.cache.png
| |-- 7349FDB32932D195CB90EC6BC6DC7C54.cache.html
| |-- 9760B036C3B6E12FF6DEEDC917855221.cache.png
| |-- C5E747B45E441FDEB9914E10C75FC19E.cache.html
| |-- CD15EC0BBF9CD57F9198FD5C1C37122E.cache.png
| |-- clear.cache.gif
| |-- D282EA5A7A4EC586F1B603A5CC628B24.cache.html
| |-- DF7764EEC1903CD03C9545B354D8D8E4.cache.png
| |-- E44767377485D18D6B6864F65BA8EF73.cache.png
| |-- EDC7827FEEA59EE44AD790B1C6430C45.cache.png
| |-- F56E7158AAD86E64316A2CAD44B27A7E.cache.html
| |-- FBAD09E7DE55D6A3CB4ADB32EC54B21F.gwt.rpc
| |-- gwt
| | `-- standard
| | |-- images
| | | |-- corner_ie6.png
| | | |-- corner.png
| | | |-- hborder_ie6.png
| | | |-- hborder.png
| | | |-- ie6
| | | | |-- corner_dialog_topleft.png
| | | | |-- corner_dialog_topright.png
| | | | |-- hborder_blue_shadow.png
| | | | |-- hborder_gray_shadow.png
| | | | |-- vborder_blue_shadow.png
| | | | `-- vborder_gray_shadow.png
| | | |-- splitPanelThumb.png
| | | |-- vborder_ie6.png
| | | `-- vborder.png
| | |-- standard.css
| | `-- standard_rtl.css
| |-- hosted.html
| `-- pm.nocache.js
|-- Pm.css
|-- Pm.html
`-- WEB-INF
|-- appengine-web.xml
|-- classes
| |-- com
| | `-- casta
| | `-- pm
| | |-- client
| | | |-- GreetingServiceAsync.class
| | | |-- GreetingService.class
| | | |-- gui$1.class
| | | |-- gui$2.class
| | | |-- gui$3.class
| | | |-- gui.class
| | | |-- JoueurManagement$1.class
| | | |-- JoueurManagement.class
| | | |-- joueurManagementDetail$1.class
| | | |-- joueurManagementDetail
$callbackAddjoueur.class
| | | |-- joueurManagementDetail.class
| | | |-- joueurManagementDetail
$joueurManagementDetailUiBinder.class
| | | |-- joueurManagementDetail.ui.xml
| | | |-- JoueurManagement
$getAllJoueurDataCallback.class
| | | |-- Pm.class
| | | |-- RpcCallServiceAsync.class
| | | |-- RpcCallService.class
| | | `-- RpcInit.class
| | |-- Pm.gwt.xml
| | |-- server
| | | |-- createDB.php
| | | |-- DB_Conn.class
| | | |-- DB_PMDB.class
| | | |-- DB_QueryStuff.class
| | | |-- GreetingServiceImpl.class
| | | |-- RpcCallServiceImpl.class
| | | `-- RunMeToTestQuery.class
| | `-- shared
| | |-- FieldVerifier.class
| | |-- JoueurData.class
| | `-- joueurDataList.class
| |-- log4j.properties
| `-- META-INF
| `-- jdoconfig.xml
|-- deploy
| `-- pm
| |-- rpcPolicyManifest
| | |-- manifests
| | | `-- 81E2B41678CF16E60CC4E4BE3D73603E.txt
| | `-- manifest.txt
| `-- symbolMaps
| |-- 14C623196EE1650CDC1BD9B9B7C2A0B1.symbolMap
| |-- 7349FDB32932D195CB90EC6BC6DC7C54.symbolMap
| |-- C5E747B45E441FDEB9914E10C75FC19E.symbolMap
| |-- D282EA5A7A4EC586F1B603A5CC628B24.symbolMap
| `-- F56E7158AAD86E64316A2CAD44B27A7E.symbolMap
|-- lib
| |-- appengine-api-1.0-sdk-1.4.2.jar
| |-- appengine-api-labs-1.4.2.jar
| |-- appengine-jsr107cache-1.4.2.jar
| |-- datanucleus-appengine-1.0.8.final.jar
| |-- datanucleus-core-1.1.5.jar
| |-- datanucleus-jpa-1.1.5.jar
| |-- geronimo-jpa_3.0_spec-1.1.1.jar
| |-- geronimo-jta_1.1_spec-1.1.1.jar
| |-- gwt-servlet.jar
| |-- jdo2-api-2.3-eb.jar
| |-- jsr107cache-1.1.jar
| `-- mysql-connector-java-5.1.15-bin.jar
|-- logging.properties
`-- web.xml
mon connecteur JDBC mysql-connector-java-5.1.15-bin.jar est bien dans
le repertoire /lib
j'arrive bien a me connecter a sql via la commande :
$>mysql -h localhost -P 3306 -u casta -p PMDB
sachant que j'ai configuré mysql avec mon my.cf autaurisant toutes les
adresses ip.
J'ai aussi activé les logs coté server mysqld=> il ne reçoit jamais la
requête de connexion. donc le problème semble se produire avant même
la connexion a mysld....
ayant une box internet dois je autorisé l'utilisation du port 3306?
(meme j'ai deja essayé et que ça n'a apparment rien changé)
Depuis Eclipse, je lance mon projet avec le raccourci fleche verte qui
signifie "run as web application"
Je me pose donc la question quand aux limites d'émulations de serveur
tomcat via GWT??? cela peut il poser un pb??
surtout que le meme bout de code mis dans un simple projet java
fonctionne.. j'établis bien la connexion...
suis je le premier a rencontrer ce pb?
ça fait une semaine que je suis sur le problème... et je seche
vraiment!!!!
HELP !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
merci de votre soutien
la prochaine étape pour moi étant d'installer TOMCAT et de lancer tout
ça depuis tomcat. Mais vu que je n'y connais rien, j'ai peur de créer
plus de problème de configuration/utilisation tomcat qu'autre chose...
merci
Fabien
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.