Salut, premièrement, si tu l'as remarqué, ce groupe de discussion est anglophone, donc je te conseille pour tes prochains messages de t'adresser en anglais, tu risques d'avoir plus de réponses :) Si d'aventure tu ne parlais pas anglais, je te conseille le forum suivant http://www.developpez.net/forums/f729/java/developpement-web-java/frameworks/gwt/ qui lui est francophone.
Concernant ton souci, je suis aussi tombé dans le panneau à mes débuts GWT. en fait à la création de ton projet, tu as laissé activée l'utilisation de l'AppEngine. Il faut savoir que ce mode de développement sert principalement dans le cas où tu comptes déployer ton application sur les serveurs App Engine de Google. Dans ce cas-là l'accès aux données est un petit peu différent d'un accès classique à une base de données puisque le principe est d'utiliser du mapping objet plutôt que du sql. Si ton but est d'aller dans ce sens je te conseille de te renseigner sur les datastores de AppEngine. Mais je pense que tu vises plutôt un déploiement plus classique vu que tu parles de Tomcat. Je te conseille donc de désactiver tout simplement l'utilisation de Google App Engine dans les propriétés de ton projet (GAE est indépendant de GWT, donc çà ne changera rien à son execution). En fait l'explication vient du fait que quand tu développes avec GAE, Eclipse embarque un équivalent au serveur AppEngine qui est dédié en fonctionnement développement et fonctionne en sandbox, avec des limitations telles que le blocage d'accès TCP vers des ports comme celui de ton serveur Mysql. Cordialement, On 28 fév, 23:38, casta040 <[email protected]> wrote: > 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(NativeConstructorAcce > ssorImpl.java: > 57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstru > ctorAccessorImpl.java: > 45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:532) > at > com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(R > untime.java: > 112) > at > com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Ru > ntime.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(NativeConstructorAcce > ssorImpl.java: > 57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstru > ctorAccessorImpl.java: > 45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:532) > at > com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(R > untime.java: > 112) > at > com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Ru > ntime.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(DelegatingMethodAccessorImp > l.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(RemoteServi > ceServlet.java: > 208) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServi > ceServlet.java: > 248) > at > com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(Abstract > RemoteServiceServlet.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(ServeBlobFi > lter.java: > 58) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans > actionCleanupFilter.java: > 43) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile > Filter.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(DevAppEn > gineWebAppContext.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.jav a: > 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.
