Details
-
Bug
-
Resolution: Unresolved
-
Major
-
5.1.1.FINAL
-
None
Description
KnowledgeAgentDefinitionParser assumes that a spring bean definition has a bean class name, however when the bean extends a parent then it may not, as in the following example:
<bean id="freemarkerConfiguration" class="freemarker.template.Configuration">
</bean>
<bean id="workflowFreemarkerConfiguration" parent="freemarkerConfiguration">
<property name="templateLoader">
<bean class="au.com.core.messaging.freemarker.FreemarkerMessageLayoutTemplateLoader" />
</property>
</bean>
The BeanDefinition for bean "workflowFreemarkerConfiguration" has a null bean class name which causes KnowledgeAgentDefinitionParser.parseInternal to throw an NPE. Specifically this line:
if ( def.getBeanClassName().equals( StatelessKnowledgeSessionBeanFactory.class.getName() ) ) {