Pregunta

Estoy tratando de implementar Sonar (herramienta de monitorización automática de código) en un contenedor de servlets embarcadero 7.

Me gustaría utilizar la configuración por defecto primero (incrustados Derby DB) como un POC y la transición a un grado de producción DB más tarde.

Hasta aquí he intentado varias maneras de hacer este trabajo (TODO: documento de intentos fallidos) sin un poco de suerte ...

¿Alguien logró sacar esto adelante?

Esta es la excepción recibo mediante el despliegue de amarre / webapps y el lanzamiento con

  

-DOPTIONS java = Server, desplegar, jsp-jar start.jar etc / jetty.xml

org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.core.database.JndiDatabaseConnector.start()', instance 'org.sonar.core.database.JndiDatabaseConnector@1f1a3a8, java.lang.RuntimeException: wrapper
        at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:76)
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:129)
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115)
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)
        at org.picocontainer.injectors.AbstractInjector.start(AbstractInjector.java:131)
        at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:173)
        at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:134)
        at org.picocontainer.behaviors.Stored.start(Stored.java:111)
        at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:882)
        at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:630)
        at org.sonar.core.Application.start(Application.java:57)
        at org.sonar.web.listeners.ApplicationListener.contextInitialized(ApplicationListener.java:42)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:627)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:189)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1200)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:585)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:334)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:164)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:164)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
        at org.eclipse.jetty.server.Server.doStart(Server.java:221)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:979)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:248)
        at org.eclipse.jetty.start.Main.start(Main.java:637)
        at org.eclipse.jetty.start.Main.main(Main.java:138)
Caused by: java.lang.RuntimeException: wrapper
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:127)
        ... 32 more
Caused by: org.sonar.commons.database.JndiException: Can not bind JDBC datasource to JNDI
        at org.sonar.core.database.JndiDatabaseConnector.createAndBindDatasource(JndiDatabaseConnector.java:124)
        at org.sonar.core.database.JndiDatabaseConnector.start(JndiDatabaseConnector.java:69)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)
        ... 31 more
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
        at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
        at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
        at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
        at javax.naming.InitialContext.lookup(Unknown Source)
        at org.sonar.core.database.JndiDatabaseConnector.createJNDISubContexts(JndiDatabaseConnector.java:177)
        at org.sonar.core.database.JndiDatabaseConnector.createAndBindDatasource(JndiDatabaseConnector.java:118)
        ... 37 more

Y esto es lo que me pasa con el despliegue en webappls-plus y lanzar con:

  

-DOPTIONS java = Server, desplegar, jsp-jar start.jar etc / jetty.xml etc / embarcadero-plus.xml

java.lang.ClassNotFoundException: org.eclipse.jetty.plus.webapp.EnvConfiguration
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.eclipse.jetty.util.Loader.loadClass(Loader.java:90)
        at org.eclipse.jetty.util.Loader.loadClass(Loader.java:70)
        at org.eclipse.jetty.webapp.WebAppContext.loadConfigurations(WebAppContext.java:796)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:297)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:164)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:164)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
        at org.eclipse.jetty.server.Server.doStart(Server.java:221)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:979)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:248)
        at org.eclipse.jetty.start.Main.start(Main.java:637)
        at org.eclipse.jetty.start.Main.main(Main.java:138)
¿Fue útil?

Solución

Sonda intenta unirse a su fuente de datos JDBC para JNDI. Pero parece que necesita un poco de embarcadero 7-configuración adicional para permitir esto. Ver este hilo para más detalles.

espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top