Oleg Kurchenko created JAMES-4160:
-------------------------------------
Summary: Unsatisfied dependency
Key: JAMES-4160
URL: https://issues.apache.org/jira/browse/JAMES-4160
Project: James Server
Issue Type: Bug
Components: UsersStore & UsersRepository
Affects Versions: 3.9.0
Environment: OpenJDK Runtime Environment (build
21.0.7+6-Ubuntu-0ubuntu124.04)
Linux mail.konturai.ru 6.8.0-55-generic #57-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb
12 23:42:21 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Reporter: Oleg Kurchenko
after migrate to 3.9.0 from 3.8.0 James can't create usersrepository for LDAP
{code:java}
// code placeholder
./james console
Running Apache James :: Server :: Spring :: App...
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | 2026-01-08T10:34:00.919509774Z main INFO Starting configuration
XmlConfiguration[location=/opt/james-server-spring-app-3.9.0/conf/log4j2.xml,
lastModified=2025-04-14T12:59:44Z]...
jvm 1 | 2026-01-08T10:34:00.920546353Z main INFO Start watching for changes
to /opt/james-server-spring-app-3.9.0/conf/log4j2.xml every 30 seconds
jvm 1 | 2026-01-08T10:34:00.922089006Z main INFO Configuration
XmlConfiguration[location=/opt/james-server-spring-app-3.9.0/conf/log4j2.xml,
lastModified=2025-04-14T12:59:44Z] started.
jvm 1 | 2026-01-08T10:34:00.923683227Z main INFO Stopping configuration
org.apache.logging.log4j.core.config.DefaultConfiguration@2eae8e6e...
jvm 1 | 2026-01-08T10:34:00.923965801Z main INFO Configuration
org.apache.logging.log4j.core.config.DefaultConfiguration@2eae8e6e stopped.
jvm 1 | 08-янв.-2026 13:34:01.081 WARN [WrapperSimpleAppMain]
org.apache.james.app.spring.JamesAppSpringMain.main:50 - No authentication
setted up for the JMX component. This expose you to local privilege escalation
attacks risk. This can be done via the
'com.sun.management.jmxremote.password.file' system property.
jvm 1 | 08-янв.-2026 13:34:02.447 INFO [WrapperSimpleAppMain]
org.apache.commons.beanutils.FluentPropertyBeanIntrospector.introspect:167 -
Error when creating PropertyDescriptor for public final void
org.apache.commons.configuration2.AbstractConfiguration.setProperty(java.lang.String,java.lang.Object)!
Ignoring this property.
jvm 1 | 08-янв.-2026 13:34:02.711 INFO [WrapperSimpleAppMain]
org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.addTransformer:87
- No LoadTimeWeaver setup: ignoring JPA class transformer
jvm 1 | 08-янв.-2026 13:34:02.762 INFO [WrapperSimpleAppMain]
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory:447
- Initialized JPA EntityManagerFactory for persistence unit 'James'
jvm 1 | 08-янв.-2026 13:34:02.775 INFO [WrapperSimpleAppMain]
org.apache.james.container.spring.bean.factory.mailrepositorystore.MailRepositoryStoreBeanFactory.init:87
- JamesMailStore init...
jvm 1 | 08-янв.-2026 13:34:02.785 INFO [WrapperSimpleAppMain]
org.apache.james.container.spring.bean.factory.mailrepositorystore.MailRepositoryStoreBeanFactory.registerRepository:141
- Registering Repository instance of class
org.apache.james.mailrepository.file.FileMailRepository to handle file protocol
requests
jvm 1 | 08-янв.-2026 13:34:02.786 INFO [WrapperSimpleAppMain]
org.apache.james.container.spring.bean.factory.mailrepositorystore.MailRepositoryStoreBeanFactory.registerRepository:141
- Registering Repository instance of class
org.apache.james.mailrepository.jdbc.JDBCMailRepository to handle db protocol
requests
jvm 1 | 08-янв.-2026 13:34:02.787 INFO [WrapperSimpleAppMain]
org.apache.james.container.spring.bean.factory.mailrepositorystore.MailRepositoryStoreBeanFactory.registerRepository:141
- Registering Repository instance of class
org.apache.james.mailrepository.jdbc.JDBCMailRepository to handle dbfile
protocol requests
jvm 1 | 08-янв.-2026 13:34:02.849 INFO [WrapperSimpleAppMain]
org.apache.james.dnsservice.dnsjava.DNSJavaService.init:213 - DNS Server is:
8.8.8.8
jvm 1 | 08-янв.-2026 13:34:02.850 INFO [WrapperSimpleAppMain]
org.apache.james.dnsservice.dnsjava.DNSJavaService.init:213 - DNS Server is:
8.8.4.4
jvm 1 | 08-янв.-2026 13:34:02.896 INFO [WrapperSimpleAppMain]
org.apache.james.dnsservice.dnsjava.DNSJavaService.init:227 - Registered cache,
resolver and search paths as DNSJava defaults
jvm 1 | 311 James INFO [blocking-call-wrapper-1] openjpa.Runtime -
Starting OpenJPA 4.1.1
jvm 1 | 836 James INFO [blocking-call-wrapper-1] openjpa.jdbc.JDBC -
Using dictionary class "org.apache.openjpa.jdbc.sql.PostgresDictionary"
(PostgreSQL 16.9 (Ubuntu 16.9-0ubuntu0.24.04.1) ,PostgreSQL JDBC Driver 42.7.7).
jvm 1 | 844 James INFO [blocking-call-wrapper-1] openjpa.jdbc.JDBC -
Connected to PostgreSQL version 16.9 using JDBC driver PostgreSQL JDBC Driver
version 42.7.7.
jvm 1 | 08-янв.-2026 13:34:05.847 WARN [WrapperSimpleAppMain]
org.springframework.context.support.AbstractApplicationContext.refresh:635 -
Exception encountered during context initialization - cancelling refresh
attempt: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'authenticator' defined in class path resource
[META-INF/org/apache/james/spring-mailbox-authenticator.xml]: Unsatisfied
dependency expressed through constructor parameter 0: Error creating bean with
name 'usersrepository': Unsatisfied dependency expressed through constructor
parameter 2: No qualifying bean of type
'com.unboundid.ldap.sdk.LDAPConnectionPool' available: expected at least 1 bean
which qualifies as autowire candidate. Dependency annotations: {}
jvm 1 | 08-янв.-2026 13:34:05.849 INFO [WrapperSimpleAppMain]
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.destroy:660 -
Closing JPA EntityManagerFactory for persistence unit 'James'
jvm 1 |
jvm 1 | WrapperSimpleApp: Encountered an error running main:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'authenticator' defined in class path resource
[META-INF/org/apache/james/spring-mailbox-authenticator.xml]: Unsatisfied
dependency expressed through constructor parameter 0: Error creating bean with
name 'usersrepository': Unsatisfied dependency expressed through constructor
parameter 2: No qualifying bean of type
'com.unboundid.ldap.sdk.LDAPConnectionPool' available: expected at least 1 bean
which qualifies as autowire candidate. Dependency annotations: {}
jvm 1 | org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'authenticator' defined in class path resource
[META-INF/org/apache/james/spring-mailbox-authenticator.xml]: Unsatisfied
dependency expressed through constructor parameter 0: Error creating bean with
name 'usersrepository': Unsatisfied dependency expressed through constructor
parameter 2: No qualifying bean of type
'com.unboundid.ldap.sdk.LDAPConnectionPool' available: expected at least 1 bean
which qualifies as autowire candidate. Dependency annotations: {}
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804)
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1395)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339)
jvm 1 | at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123)
jvm 1 | at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987)
jvm 1 | at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
jvm 1 | at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)
jvm 1 | at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:95)
jvm 1 | at
org.apache.james.container.spring.context.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:43)
jvm 1 | at
org.apache.james.app.spring.JamesAppSpringMain.init(JamesAppSpringMain.java:81)
jvm 1 | at
org.apache.james.app.spring.JamesAppSpringMain.main(JamesAppSpringMain.java:57)
jvm 1 | at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
jvm 1 | at java.base/java.lang.reflect.Method.invoke(Method.java:580)
jvm 1 | at
org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
jvm 1 | at java.base/java.lang.Thread.run(Thread.java:1583)
jvm 1 | Caused by:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'usersrepository': Unsatisfied dependency expressed
through constructor parameter 2: No qualifying bean of type
'com.unboundid.ldap.sdk.LDAPConnectionPool' available: expected at least 1 bean
which qualifies as autowire candidate. Dependency annotations: {}
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804)
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1395)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339)
jvm 1 | at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
jvm 1 | at
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1745)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1628)
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913)
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
jvm 1 | ... 23 more
jvm 1 | Caused by:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying
bean of type 'com.unboundid.ldap.sdk.LDAPConnectionPool' available: expected at
least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:2284)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1708)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1628)
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913)
jvm 1 | at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
jvm 1 | ... 37 more
jvm 1 | 2026-01-08T10:34:07.617624857Z pool-1-thread-1 INFO Stopping
configuration
XmlConfiguration[location=/opt/james-server-spring-app-3.9.0/conf/log4j2.xml,
lastModified=2025-04-14T12:59:44Z]...
jvm 1 | 2026-01-08T10:34:07.619955371Z pool-1-thread-1 INFO Configuration
XmlConfiguration[location=/opt/james-server-spring-app-3.9.0/conf/log4j2.xml,
lastModified=2025-04-14T12:59:44Z] stopped.
wrapper | <-- Wrapper Stopped
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]