on 2018 May 21 8:48 AM
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)
Request clarification before answering.
We also got same error during upgrade 6.3 --> 1811. Debugging IllegalArgumentException helped to resolve the issue. thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.