Question

Je construis une application avec GWT + GAE sur mon MAC. Dans cette application, j'ai des fichiers DTO et la conversion de DTO en entités persistantes. J'utilise la bibliothèque de bulldozer , son mappeur. objet. Tout se compile et fonctionne correctement sous Windows , mais lorsque j'essaie d'exécuter mon application en mode hébergé sur MAC , je reçois le message d'erreur suivant:

The server is running at http://localhost:8080/
2009-06-26 16:16:47.496 java[1378:80f] Can't open input server /Library/InputManagers/MultiClutchInputManager.bundle
2009-06-26 16:16:47.498 java[1378:80f] [Java CocoaComponent compatibility mode]: Enabled
2009-06-26 16:16:47.498 java[1378:80f] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
Jun 26, 2009 11:17:00 PM org.dozer.DozerInitializer init
WARNING: Unable to register Dozer JMX MBeans with the PlatformMBeanServer.  Dozer will still function normally, but management via JMX may not be available
java.security.AccessControlException: access denied (javax.management.MBeanServerPermission createMBeanServer)
    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:122)
    at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:508)
    at org.dozer.DozerInitializer.registerJMXBean(DozerInitializer.java:108)
    at org.dozer.DozerInitializer.registerJMXBeans(DozerInitializer.java:97)
    at org.dozer.DozerInitializer.init(DozerInitializer.java:64)
    at org.dozer.DozerBeanMapper.<clinit>(DozerBeanMapper.java:56)
    at com.athena.server.ContentServiceImpl.saveContent(ContentServiceImpl.java:24)
    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:585)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
    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 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:306)
    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)

Est-il possible de corriger cet avertissement?

Était-ce utile?

La solution

Oui, désactivez l'enregistrement automatique des beans JMX. Dans la page Configuration du bulldozer , la valeur dozer.autoregister.jmx.beans par défaut est true. Réglez-le sur false. Maintenant, cela se fait via un fichier de propriétés et je ne suis pas sûr que vous puissiez le faire avec GAE. Si vous ne le pouvez pas, vous devrez vous procurer une copie du code source, le désactiver et le recompiler.

Cela étant dit, cela ressemble à un avertissement, mais je ne sais pas comment Dozer réagira à cela, vous devrez simplement l'essayer et voir. C'est peut-être bien mais même si c'est le cas, je le corrigerais quand même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top