Nikita Shupletsov created AMQ-9627:
--------------------------------------
Summary: Broker will not start if cachedLDAPAuthorizationMap is
used and LDAP server is unavailable
Key: AMQ-9627
URL: https://issues.apache.org/jira/browse/AMQ-9627
Project: ActiveMQ Classic
Issue Type: Bug
Reporter: Nikita Shupletsov
When cachedLDAPAuthorizationMap is used and LDAP is down, the broker will not
start and fail with the following exception:
{{org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class
path resource [org/apache/activemq/security/activemq-ldap-cached-map.xml]:
Cannot create inner bean 'authorizationPlugin#674658f7' of type
[org.apache.activemq.security.AuthorizationPlugin] while setting bean property
'plugins' with key [1]}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanValue(BeanDefinitionValueResolver.java:421)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.lambda$resolveValueIfNecessary$0(BeanDefinitionValueResolver.java:149)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:262)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:148)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:460)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:191)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1705)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1454)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)}}
{{ at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337)}}
{{ at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)}}
{{ at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335)}}
{{ at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)}}
{{ at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)}}
{{ at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971)}}
{{ at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625)}}
{{ at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)}}
{{ at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)}}
{{ at
org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104)}}
{{ at
org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)}}
{{ at
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)}}
{{ at
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)}}
{{ at
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)}}
{{ at
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:85)}}
{{ at
org.apache.activemq.security.LdapCachedLDAPAuthorizationMapTest.testStartBrokerWhenLdapServerIsUnreachable(LdapCachedLDAPAuthorizationMapTest.java:21)}}
{{ at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)}}
{{ at java.base/java.lang.reflect.Method.invoke(Method.java:580)}}
{{ at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)}}
{{ at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)}}
{{ at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)}}
{{ at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)}}
{{ at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)}}
{{ at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)}}
{{ at
org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)}}
{{ at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)}}
{{ at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)}}
{{ at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)}}
{{ at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)}}
{{ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)}}
{{ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)}}
{{ at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)}}
{{ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)}}
{{ at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)}}
{{ at org.junit.runners.ParentRunner.run(ParentRunner.java:413)}}
{{ at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316)}}
{{ at
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)}}
{{ at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)}}
{{ at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)}}
{{ at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)}}
{{ at
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)}}
{{ at
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)}}
{{ at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)}}
{{Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'authorizationPlugin#674658f7' defined in class path
resource [org/apache/activemq/security/activemq-ldap-cached-map.xml]: Cannot
create inner bean '(inner bean)#68ace111' of type
[org.apache.activemq.security.CachedLDAPAuthorizationMap] while setting
constructor argument}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanValue(BeanDefinitionValueResolver.java:421)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.lambda$resolveValueIfNecessary$1(BeanDefinitionValueResolver.java:153)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:262)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:152)}}
{{ at
org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:682)}}
{{ at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:203)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1375)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1212)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanValue(BeanDefinitionValueResolver.java:407)}}
{{ ... 52 more}}
{{Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name '(inner bean)#68ace111' defined in class path resource
[org/apache/activemq/security/activemq-ldap-cached-map.xml]: localhost:1024}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1806)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanValue(BeanDefinitionValueResolver.java:407)}}
{{ ... 62 more}}
{{Caused by: javax.naming.CommunicationException: localhost:1024 [Root
exception is java.net.ConnectException: Connection refused]}}
{{ at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:253)}}
{{ at java.naming/com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:141)}}
{{ at
java.naming/com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1620)}}
{{ at java.naming/com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2848)}}
{{ at java.naming/com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:349)}}
{{ at
java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxFromUrl(LdapCtxFactory.java:229)}}
{{ at
java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:189)}}
{{ at
java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:247)}}
{{ at
java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)}}
{{ at
java.naming/com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)}}
{{ at
java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:520)}}
{{ at
java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)}}
{{ at java.naming/javax.naming.InitialContext.init(InitialContext.java:236)}}
{{ at
java.naming/javax.naming.InitialContext.<init>(InitialContext.java:208)}}
{{ at
java.naming/javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:130)}}
{{ at
org.apache.activemq.security.SimpleCachedLDAPAuthorizationMap.createContext(SimpleCachedLDAPAuthorizationMap.java:142)}}
{{ at
org.apache.activemq.security.SimpleCachedLDAPAuthorizationMap.open(SimpleCachedLDAPAuthorizationMap.java:172)}}
{{ at
org.apache.activemq.security.SimpleCachedLDAPAuthorizationMap.query(SimpleCachedLDAPAuthorizationMap.java:227)}}
{{ at
org.apache.activemq.security.SimpleCachedLDAPAuthorizationMap.afterPropertiesSet(SimpleCachedLDAPAuthorizationMap.java:939)}}
{{ at
org.apache.activemq.security.CachedLDAPAuthorizationMap.afterPropertiesSet(CachedLDAPAuthorizationMap.java:34)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1802)}}
{{ ... 65 more}}
{{Caused by: java.net.ConnectException: Connection refused}}
{{ at java.base/sun.nio.ch.Net.connect0(Native Method)}}
{{ at java.base/sun.nio.ch.Net.connect(Net.java:589)}}
{{ at java.base/sun.nio.ch.Net.connect(Net.java:578)}}
{{ at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:583)}}
{{ at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)}}
{{ at java.base/java.net.Socket.connect(Socket.java:751)}}
{{ at java.base/java.net.Socket.connect(Socket.java:686)}}
{{ at java.base/java.net.Socket.<init>(Socket.java:555)}}
{{ at java.base/java.net.Socket.<init>(Socket.java:324)}}
{{ at
java.base/javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:267)}}
{{ at
java.naming/com.sun.jndi.ldap.Connection.createConnectionSocket(Connection.java:341)}}
{{ at
java.naming/com.sun.jndi.ldap.Connection.createSocket(Connection.java:285)}}
{{ at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:232)}}
{{ ... 86 more}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact