cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Cannot merge with object of type [class org.springframework.beans.factory.config.RuntimeBeanReference]

Former Member
0 Likes
1,189

Hi,

I migrating 5.6 to 6.5 and we done below things. 1) Migrated 5.6 code to 6.5 2) Module changes done. 3) Spring xml changes done. 4) fixed build error and while starting server we have faced below error.

ERROR [localhost-startStop-1] [HybrisContextFactory] Error initializing global application context! java.lang.IllegalArgumentException: Cannot merge with object of type [class org.springframework.beans.factory.config.RuntimeBeanReference] at org.springframework.beans.factory.support.ManagedMap.merge(ManagedMap.java:117) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.beans.MutablePropertyValues.mergeIfRequired(MutablePropertyValues.java:222) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.beans.MutablePropertyValues.addPropertyValue(MutablePropertyValues.java:170) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.beans.MutablePropertyValues.addPropertyValues(MutablePropertyValues.java:139) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.beans.factory.support.AbstractBeanDefinition.overrideFrom(AbstractBeanDefinition.java:284) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEA SE] at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:1282) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14 .RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:1221) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14 .RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207) ~[spring-beans-4.3.14.RELEASE.jar:4 .3.14.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:419) ~[spring-beans-4.3.14.RELEASE .jar:4.3.14.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:395) ~[spring-beans-4.3.14.RELEASE.j ar:4.3.14.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:83) ~[spring-con text-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.14.R ELEASE.jar:4.3.14.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEAS E] at de.hybris.platform.core.HybrisContextFactory.refreshContext(HybrisContextFactory.java:95) [coreserver.jar:?] at de.hybris.platform.core.HybrisContextFactory$ApplicationContextFactory.build(HybrisContextFactory.java:263) [coreserver.jar:?] at de.hybris.platform.core.HybrisContextHolder.getApplicationInstance(HybrisContextHolder.java:87) [coreserver.jar:?] at de.hybris.platform.core.AbstractTenant.createCoreApplicationContext(AbstractTenant.java:708) [coreserver.jar:?] at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.java:746) [coreserver.jar:?] at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:680) [coreserver.jar:?] at de.hybris.platform.core.Registry.assureTenantStarted(Registry.java:647) [coreserver.jar:?] at de.hybris.platform.core.Registry.activateTenant(Registry.java:708) [coreserver.jar:?] at de.hybris.platform.core.Registry.setCurrentTenant(Registry.java:555) [coreserver.jar:?] at de.hybris.platform.core.Registry.activateMasterTenant(Registry.java:615) [coreserver.jar:?] at de.hybris.platform.core.Registry.startup(Registry.java:433) [coreserver.jar:?] at de.hybris.platform.spring.HybrisContextLoaderListener.startRegistry(HybrisContextLoaderListener.java:317) [coreserver.jar:?] at de.hybris.platform.spring.HybrisContextLoaderListener.doInitWebApplicationContext(HybrisContextLoaderListener.java:203) [coreserver.jar:?] at de.hybris.platform.spring.HybrisContextLoaderListener.initWebApplicationContext(HybrisContextLoaderListener.java:191) [coreserver.jar:?] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) [spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at de.hybris.platform.spring.HybrisContextLoaderListener.contextInitialized(HybrisContextLoaderListener.java:87) [coreserver.jar:?] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118) [catalina.jar:7.0.79] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634) [catalina.jar:7.0.79] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [catalina.jar:7.0.79] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571) [catalina.jar:7.0.79] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561) [catalina.jar:7.0.79] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] INFO [localhost-startStop-1] [HybrisContextFactory] - Refreshing SpringContext (hybris Application context - master) took: (13.34 s) INFO [localhost-startStop-1] [HybrisContextFactory] Initializing application Spring ApplicationContext for tenant master took: (19.91 s) de.hybris.platform.core.UninstantiableCoreApplicationContextException: Error creating Spring application context. at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.java:750) at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:680) at de.hybris.platform.core.Registry.assureTenantStarted(Registry.java:647)

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Likes

We also got same error during upgrade 6.3 --> 1811. Debugging IllegalArgumentException helped to resolve the issue. thanks

0 Likes

I ran into the same problem. To find out where the error is thrown, add a breakpoint on the line throw new IllegalArgumentException in ManagedMap (a Spring class).

In my case, it was caused by a custom bean that had acceleratorDynamicAttributesOrderStatusDisplayByMap as a parent. The definition of that bean has changed. It now uses a reference to a map bean that holds the status values:

 <bean id="acceleratorDynamicAttributesOrderStatusDisplayByMap"
       class="de.hybris.platform.orderhandler.DynamicAttributesOrderStatusDisplayByMap">
         <property name="statusDisplayMap" ref="acceleratorStatusDisplayMap" />
         <property name="defaultStatus" value="processing"/>
     </bean>

In previous versions, the map was defined directly when setting the property. Apparently, Spring doesn't like it when you want to merge a map where the parent is using a ref bean instead of a map directly. I solved it (for now) by just copying the values of the acceleratorStatusDisplayMap to my map, and setting merge=falseon my bean definition.

0 Likes

Hi Kabilan I am facing the error when upgrading hybris from 5.x to 6.x, please advise if you found any solution for this