Une vision de la pile serveur de king.com

King.com, ce sont les jeux en Flash sur FesseBouc, et les publicités à la télévision pour installer la Saga Brise Bonbon (Candy Crush Saga) sur votre mobaïle. De temps en temps, on peut avoir un aperçu de ce qui se passe côté serveur pour gérer la machinerie.

com.king.core.InternalException: DB error com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
	at com.king.core.db.DataStoreImpl.handleSQLException(DataStoreImpl.java:322)
	at com.king.core.db.DataStoreImpl.setData(DataStoreImpl.java:140)
	at com.king.core.db.DataStoreImpl.setData(DataStoreImpl.java:121)
	at com.king.core.db.JsonStoreImpl.set(JsonStoreImpl.java:134)
	at com.king.core.db.JsonStoreImpl.set(JsonStoreImpl.java:40)
	at com.king.platform.user.UserJsonStoreImpl.set(UserJsonStoreImpl.java:86)
	at com.king.platform.user.UserJsonStoreImpl.set(UserJsonStoreImpl.java:55)
	at com.king.platform.user.SignInDataManagerImpl.saveSignInData(SignInDataManagerImpl.java:82)
	at com.king.platform.user.SignInDataManagerImpl.updateSignInData(SignInDataManagerImpl.java:105)
	at com.king.platform.user.CoreUserManagerImpl.signInExistingUser(CoreUserManagerImpl.java:62)
	at com.king.platform.facebook.FacebookManagerImpl.signIn(FacebookManagerImpl.java:62)
	at com.king.platform.facebook.FacebookSessionManagerImpl.initFacebookUserSession(FacebookSessionManagerImpl.java:139)
	at com.king.platform.facebook.FacebookSessionManagerImpl.initFacebookUserSession(FacebookSessionManagerImpl.java:111)
	at com.king.platform.facebook.FacebookHttpEntrypointImpl.enter(FacebookHttpEntrypointImpl.java:146)
	at com.king.apps.bubblewitch.BubbleWitchFacebookServlet.service(BubbleWitchFacebookServlet.java:65)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
	at com.king.platform.session.PlatformServletFilter.doFilter(PlatformServletFilter.java:111)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at com.king.platform.jetty.AddCloseHeaderFilter.doFilter(AddCloseHeaderFilter.java:16)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)

Jetty pour le "serveur d'application", MySQL pour la base de données, avec stockage direct en JSON (peut-être). Les Impl partout font craindre qu'il y ait une forêt d'interfaces inutiles de maintenue, sinon c'est assez propre comme pile d'appel, pas de Spring, pas de proxys : sans doute des gens qui savent coder.

Comments

1. On Wednesday 31 July 2013, 08:07 by Bouilloire

C'est bon, on peut continuer à jouer l'esprit en paix alors :)

They posted on the same topic

Trackback URL : https://www.cynicalturtle.net/kame/trackback/1539

This post's comments feed