close

Filter

loading table of contents...

Release Notes / Version 12.2412.0

Table Of Contents

Avoid Auto-wiring on Spring Beans with Scope "Prototype"

A bug in the Spring framework may lead to problems with initialization of members annotated with @Autowired when it comes to beans of scope prototype. Content beans (or any Spring bean with scope prototype, for that matter) should thus not use autowired members. Auto-wiring on prototype beans in the Blueprint has been exchanged by explicit dependency injection.

Always use explicit injection on prototype beans. If content beans have been customized in your project, check for occurrences of annotation @Autowired and replace them with explicit injection. Do so for any other bean of scope prototype that you have introduced in your project (look for scope="prototype" in your Spring XML definitions).

If you used a custom SettingsStructToSearchQueryConverterFactory for content bean contentBeanFactory:CMQueryList, this is not autowired any longer and you need to add an explicit injection in file blueprint-contentbeans.xml:

<bean name="contentBeanFactory:CMQueryList" parent="abstractTeasable-blueprint-doctypes"
      class="com.coremedia.blueprint.cae.contentbeans.CMQueryListImpl" scope="prototype">
  <property name="converterClassFactory" ref="myConverterClassFactory"/>
</bean>

(CMS-26015)

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.