Arnaud MERGEY created ARIES-1993:
------------------------------------

             Summary: [blueprint/spring integration] Cannot parse 
spring-security 5 context 
                 Key: ARIES-1993
                 URL: https://issues.apache.org/jira/browse/ARIES-1993
             Project: Aries
          Issue Type: Bug
          Components: Blueprint
    Affects Versions: blueprint-spring-0.6.0
            Reporter: Arnaud MERGEY


In a blueprint application, trying to parse this blueprint xml file
{code:java}
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";<blueprint 
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:spring="http://www.springframework.org/schema/beans"; 
xmlns:context="http://www.springframework.org/schema/context"; 
xmlns:security="http://www.springframework.org/schema/security"; 
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0         
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd         
http://www.springframework.org/schema/beans                         
http://www.springframework.org/schema/beans/spring-beans.xsd                    
    http://www.springframework.org/schema/context                         
http://www.springframework.org/schema/context/spring-context.xsd                
        http://www.springframework.org/schema/security                        
https://www.springframework.org/schema/security/spring-security.xsd"; 
default-activation="eager" default-availability="mandatory">
 <!-- <security:debug/> -->
 <security:http/>  <security:user-service> <security:user name="user" 
password="password" authorities="ROLE_USER" /> </security:user-service>
</blueprint>
{code}
fails with
{code:java}
[Blueprint Extender: 1] WARN 
org.apache.aries.blueprint.spring.SpringApplicationContext - Exception 
encountered during context initialization - cancelling refresh attempt: 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.filterChains': Cannot resolve reference 
to bean 'org.springframework.security.web.DefaultSecurityFilterChain#0' while 
setting bean property 'sourceList' with key [0]; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.web.DefaultSecurityFilterChain#0': 
Cannot resolve reference to bean 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0'
 while setting constructor argument with key [5]; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0':
 Cannot resolve reference to bean 
'org.springframework.security.authentication.ProviderManager#0' while setting 
bean property 'authenticationManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.authentication.ProviderManager#0': 
Cannot resolve reference to bean 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0'
 while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0':
 FactoryBean threw exception on object creation; nested exception is 
java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;[Blueprint
 Extender: 1] WARN org.apache.aries.blueprint.spring.SpringApplicationContext - 
Exception encountered during context initialization - cancelling refresh 
attempt: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'org.springframework.security.filterChains': Cannot 
resolve reference to bean 
'org.springframework.security.web.DefaultSecurityFilterChain#0' while setting 
bean property 'sourceList' with key [0]; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.web.DefaultSecurityFilterChain#0': 
Cannot resolve reference to bean 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0'
 while setting constructor argument with key [5]; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0':
 Cannot resolve reference to bean 
'org.springframework.security.authentication.ProviderManager#0' while setting 
bean property 'authenticationManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.authentication.ProviderManager#0': 
Cannot resolve reference to bean 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0'
 while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0':
 FactoryBean threw exception on object creation; nested exception is 
java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;[Blueprint
 Extender: 1] ERROR org.apache.aries.blueprint.container.BlueprintContainerImpl 
- Unable to start container for blueprint bundle 
com.bp.spring.hello/1.0.0.qualifierorg.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'org.springframework.security.filterChains': 
Cannot resolve reference to bean 
'org.springframework.security.web.DefaultSecurityFilterChain#0' while setting 
bean property 'sourceList' with key [0]; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.web.DefaultSecurityFilterChain#0': 
Cannot resolve reference to bean 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0'
 while setting constructor argument with key [5]; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0':
 Cannot resolve reference to bean 
'org.springframework.security.authentication.ProviderManager#0' while setting 
bean property 'authenticationManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.authentication.ProviderManager#0': 
Cannot resolve reference to bean 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0'
 while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0':
 FactoryBean threw exception on object creation; nested exception is 
java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:428)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:173)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1699)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1444)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
 at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:876)
 at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
 at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
 at 
org.apache.aries.blueprint.spring.SpringBeanProcessor.process(SpringBeanProcessor.java:56)
 at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:573)
 at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:417)
 at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at 
java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)
 at 
org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:45)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at 
java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
 at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
at java.lang.Thread.run(Thread.java:748)Caused by: 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.web.DefaultSecurityFilterChain#0': 
Cannot resolve reference to bean 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0'
 while setting constructor argument with key [5]; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0':
 Cannot resolve reference to bean 
'org.springframework.security.authentication.ProviderManager#0' while setting 
bean property 'authenticationManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.authentication.ProviderManager#0': 
Cannot resolve reference to bean 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0'
 while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0':
 FactoryBean threw exception on object creation; nested exception is 
java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:428)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:173)
 at 
org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:691)
 at 
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
 at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330)
 ... 29 moreCaused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 
'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0':
 Cannot resolve reference to bean 
'org.springframework.security.authentication.ProviderManager#0' while setting 
bean property 'authenticationManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.springframework.security.authentication.ProviderManager#0': 
Cannot resolve reference to bean 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0'
 while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0':
 FactoryBean threw exception on object creation; nested exception is 
java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1699)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1444)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
 at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330)
 ... 43 moreCaused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 
'org.springframework.security.authentication.ProviderManager#0': Cannot resolve 
reference to bean 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0'
 while setting constructor argument; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0':
 FactoryBean threw exception on object creation; nested exception is 
java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
 at 
org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:691)
 at 
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
 at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330)
 ... 53 moreCaused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 
'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0':
 FactoryBean threw exception on object creation; nested exception is 
java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;
 at 
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)
 at 
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1821)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1266)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330)
 ... 65 moreCaused by: java.lang.AbstractMethodError: 
org.apache.aries.blueprint.spring.BlueprintBeanFactory$WrapperBeanFactory.getBeanProvider(Lorg/springframework/core/ResolvableType;)Lorg/springframework/beans/factory/ObjectProvider;
 at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:431)
 at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:352)
 at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:345)
 at 
org.apache.aries.blueprint.spring.BlueprintBeanFactory.getBean(BlueprintBeanFactory.java:59)
 at 
org.springframework.security.config.authentication.AuthenticationManagerFactoryBean.getBeanOrNull(AuthenticationManagerFactoryBean.java:88)
 at 
org.springframework.security.config.authentication.AuthenticationManagerFactoryBean.getObject(AuthenticationManagerFactoryBean.java:65)
 at 
org.springframework.security.config.authentication.AuthenticationManagerFactoryBean.getObject(AuthenticationManagerFactoryBean.java:41)
 at 
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171)
 ... 71 more
{code}
This is because blueprint-spring integration is implementing spring 4 
BeanFactory interface, they have added some methods in spring 5 which needs to 
be implemented as well.

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to