Beans specified in activiti.cfg.xml not available in expressions

Description

Contrary to what the User Guide states here, beans defined in activiti.cfg.xml are not available in expressions.

Looking through the code, everything is in place for this to work. The bean definitions get parsed and the beans get added to the ProcessEngineConfiguration's beans property. They're just not exposed in expressions because there is no equivalent of an org.activiti.spring.ApplicationContextElResolver in the composite ELResolver returned by org.activiti.engine.impl.el.ExpressionManager#createResolver().

Is this omission intentional?

Note that if you would base the resolver on a Spring BeanFactory (as opposed to ApplicationContext), this could be done without introducing additional Spring dependencies to the core engine. Concerns about backward compatibility (existing identifiers in expressions now hidden by bean names) can be tackled by exposing only those beans which are explicitly listed in the beans property of the configuration.

Environment

None

Assignee

Frederik Heremans

Reporter

Marco van Zwetselaar

Labels

None

Components

Fix versions

Affects versions

Priority

Major
Configure