Sonar-Ldap 集成有问题

Having issues with Sonar-Ldap integration

我正在尝试将我的 sonarqube 实例与 LDAP 集成,但在按照文档进行集成时遇到了问题。我正在使用服务帐户访问 LDS 环境和目录。我正在使用端口号 50001,并且我能够使用来自我的实例的端口号远程登录 LDAP 服务器。启动声纳服务时出现以下错误。我还使用具有给定属性的 ldapsearch 测试了与 LDAP 环境的连接,并且我能够得到响应。我不确定我是否缺少某些配置。非常感谢任何帮助。

'016.02.03 07:15:09 INFO  web[org.sonar.INFO] Security realm: LDAP
2016.02.03 07:15:09 INFO  web[o.s.p.l.LdapSettingsManager] User mapping: LdapUserMapping{baseDn=DC=lds,DC=<COMPANY>,DC=com, request=(&(objectClass=userProxyFull)(uid={0})), realNameAttribute=cn, emailAttribute=mail}
2016.02.03 07:15:09 INFO  web[o.s.p.l.LdapSettingsManager] Groups will not be synchronized, because property 'ldap.group.baseDn' is empty.
2016.02.03 07:15:09 DEBUG web[o.s.p.l.LdapContextFactory] Initializing LDAP context {java.naming.provider.url=ldap://<SERVERNAME>:50001, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.security.principal=cn=<SERVICEACCOUNT>,OU=Service Accounts,DC=lds,DC=<COMPANY>,DC=com, com.sun.jndi.ldap.connect.pool=true, java.naming.security.authentication=simple, java.naming.referral=follow}
2016.02.03 07:15:09 INFO  web[o.s.p.l.LdapContextFactory] Test LDAP connection: FAIL
2016.02.03 07:15:09 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener
java.lang.IllegalStateException: Unable to open LDAP connection
        at org.sonar.plugins.ldap.LdapContextFactory.testConnection(LdapContextFactory.java:146) ~[na:na]
        at org.sonar.plugins.ldap.LdapRealm.init(LdapRealm.java:64) ~[na:na]
        at org.sonar.server.user.SecurityRealmFactory.start(SecurityRealmFactory.java:84) ~[sonar-server-5.2.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) ~[picocontainer-2.15.jar:na]
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) ~[picocontainer-2.15.jar:na]
        at org.sonar.core.platform.ComponentContainer.start(ComponentContainer.java:259) ~[sonar-core-5.2.jar:na]
        at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) ~[picocontainer-2.15.jar:na]
        at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) ~[picocontainer-2.15.jar:na]
        at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) ~[picocontainer-2.15.jar:na]
        at org.picocontainer.behaviors.Stored.start(Stored.java:110) ~[picocontainer-2.15.jar:na]
        at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1016) ~[picocontainer-2.15.jar:na]
        at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1009) ~[picocontainer-2.15.jar:na]
        at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:767) ~[picocontainer-2.15.jar:na]
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:99) ~[sonar-core-5.2.jar:na]
        at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:84) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.platform.platformlevel.PlatformLevel4.start(PlatformLevel4.java:729) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.platform.Platform.start(Platform.java:214) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:188) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.platform.Platform.doStart(Platform.java:113) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.platform.Platform.doStart(Platform.java:99) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.platform.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:43) ~[sonar-server-5.2.jar:na]
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4720) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_65]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_65]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]
Caused by: javax.naming.ServiceUnavailableException: <SERVERNAME>:50001; socket closed
        at com.sun.jndi.ldap.Connection.readReply(Connection.java:454) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:365) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:214) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2788) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:319) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153) ~[na:1.8.0_65]
        at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83) ~[na:1.8.0_65]
        at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) ~[na:1.8.0_65]
        at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) ~[na:1.8.0_65]
        at javax.naming.InitialContext.init(InitialContext.java:244) ~[na:1.8.0_65]
        at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154) ~[na:1.8.0_65]
        at org.sonar.plugins.ldap.LdapContextFactory.createInitialDirContext(LdapContextFactory.java:95) ~[na:na]
        at org.sonar.plugins.ldap.LdapContextFactory.createBindContext(LdapContextFactory.java:83) ~[na:na]
        at org.sonar.plugins.ldap.LdapContextFactory.testConnection(LdapContextFactory.java:142) ~[na:na]
        ... 33 common frames omitted
2016.02.03 07:15:09 INFO  web[jruby.rack] jruby 1.7.9 (ruby-1.8.7p370) 2013-12-06 87b108a on Java HotSpot(TM) 64-Bit Server VM 1.8.0_65-b17 [linux-amd64]
2016.02.03 07:15:09 INFO  web[jruby.rack] using a shared (threadsafe!) runtime
2016.02.03 07:15:14 ERROR web[jruby.rack] initialization failed
org.jruby.rack.RackInitializationException: java.lang.NullPointerException
        at org.jruby.rack.RackInitializationException.wrap(RackInitializationException.java:31) ~[jruby-rack-1.1.13.2.jar:na]
        at org.jruby.rack.RackApplicationFactoryDecorator.init(RackApplicationFactoryDecorator.java:98) ~[jruby-rack-1.1.13.2.jar:na]
        at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:50) ~[jruby-rack-1.1.13.2.jar:na]
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4720) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.0.18.jar:8.0.18]
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) [tomcat-embed-core-8.0.18.jar:8.0.18]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_65]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_65]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]
Caused by: java.lang.NullPointerException: null
        at org.sonar.server.platform.Platform.getContainer(Platform.java:282) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.ui.JRubyFacade.getContainer(JRubyFacade.java:341) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.ui.JRubyFacade.get(JRubyFacade.java:81) ~[sonar-server-5.2.jar:na]
        at org.sonar.server.ui.JRubyFacade.getDatabase(JRubyFacade.java:212) ~[sonar-server-5.2.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
        at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:440) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:304) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:52) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.RootNode.interpret(RootNode.java:129) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_EVAL(ASTInterpreter.java:95) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.evalWithBinding(ASTInterpreter.java:184) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.RubyKernel.evalCommon(RubyKernel.java:1156) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.RubyKernel.eval(RubyKernel.java:1114) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.RubyKernel$INVOKER$s[=10=]$eval.call(RubyKernel$INVOKER$s[=10=]$eval.gen) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:180) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:296) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.FCallManyArgsNode.interpret(FCallManyArgsNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.IfNode.interpret(IfNode.java:118) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.AttrAssignOneArgNode.interpret(AttrAssignOneArgNode.java:33) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.IfNode.interpret(IfNode.java:116) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.VCallNode.interpret(VCallNode.java:88) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:161) ~[jruby-complete-1.7.9.jar:na]
 at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:161) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:190) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:316) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:145) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.RootNode.interpret(RootNode.java:129) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.Ruby.runInterpreter(Ruby.java:838) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.Ruby.loadFile(Ruby.java:2727) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.load.LoadService.load(LoadService.java:359) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.RubyKernel.loadCommon(RubyKernel.java:1107) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.RubyKernel.load(RubyKernel.java:1094) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.RubyKernel$INVOKER$s[=10=]$load.call(RubyKernel$INVOKER$s[=10=]$load.gen) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:210) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:206) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.ast.RootNode.interpret(RootNode.java:129) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.Ruby.evalScriptlet(Ruby.java:419) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.Ruby.evalScriptlet(Ruby.java:396) ~[jruby-complete-1.7.9.jar:na]
        at org.jruby.rack.rails.RailsRackApplicationFactory.createApplicationObject(RailsRackApplicationFactory.java:22) ~[jruby-rack-1.1.13.2.jar:na]
        at org.jruby.rack.DefaultRackApplicationFactory.create(DefaultRackApplicationFactory.java:98) ~[jruby-rack-1.1.13.2.jar:na]
        at org.jruby.rack.DefaultRackApplicationFactory$RackApplicationImpl.init(DefaultRackApplicationFactory.java:420) ~[jruby-rack-1.1.13.2.jar:na]
        at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:111) ~[jruby-rack-1.1.13.2.jar:na]
        at org.jruby.rack.SharedRackApplicationFactory.doInit(SharedRackApplicationFactory.java:31) ~[jruby-rack-1.1.13.2.jar:na]
        at org.jruby.rack.RackApplicationFactoryDecorator.init(RackApplicationFactoryDecorator.java:94) ~[jruby-rack-1.1.13.2.jar:na]
        ... 10 common frames omitted
2016.02.03 07:15:14 ERROR web[o.a.c.c.StandardContext] Error listenerStart
2016.02.03 07:15:14 ERROR web[o.a.c.c.StandardContext] Context [] startup failed due to previous errors
2016.02.03 07:15:14 WARN  web[o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
 com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
2016.02.03 07:15:14 WARN  web[o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [JRubyJIT-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
 java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 java.lang.Thread.run(Thread.java:745)
2016.02.03 07:15:14 WARN  web[o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [JRubyJIT-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)'

SonarQube 在 Oracle Linux 6.2

上 运行

SonarQube 版本 - 5.2

Ldap 插件版本 - sonar-ldap-plugin-1.5.1

配置:

sonar.security.realm=LDAP

sonar.security.savePassword=true        

ldap.url=ldap://servername:portnumber

ldap.bindDn=cn=<serviceaccount>,OU=Service `enter code here`Accounts,DC=lds,DC=company,DC=com

ldap.bindPassword=xxxxxxxxxxxxxx

ldap.user.baseDn=DC=lds,DC=company,DC=com

ldap.user.request=(&(objectClass=userProxyFull)(uid={login}))

ldap.user.realNameAttribute=cn

ldap.user.emailAttribute=mail

ldapsearch 使用 SSL(URL 中的 ldaps),而您将 SonarQube 配置为尝试纯文本连接(ldap 在 URL 中)。因此,您的 LDAP 服务器拒绝不安全的连接,因此出现 socket closed 错误。

修复 SonarQube 配置中的 LDAP 地址:ldap.url=ldaps://servername:portnumber(将 ldap 替换为 ldaps