Łukasz Dywicki created IGNITE-17915:
---------------------------------------
Summary: Generalize support for inversion of control mechanisms
Key: IGNITE-17915
URL: https://issues.apache.org/jira/browse/IGNITE-17915
Project: Ignite
Issue Type: Improvement
Components: spring
Affects Versions: 2.14
Reporter: Łukasz Dywicki
Current inversion of control support for Ignite is bound to Spring framework
and Spring ApplicationContext interface which is used to lookup beans by type
or name.
Above lookup criteria are fairly generic and can be used to first - extract,
second - generalize support for foreign injections within Ignite itself. With
little work it is possible to open this for further extensions. This is known
pattern used in other Apache projects, ie.
[{{BeanRepository}}|https://github.com/apache/camel/blob/camel-3.19.0/core/camel-api/src/main/java/org/apache/camel/spi/BeanRepository.java]
and
[{{Registry}}|https://github.com/apache/camel/blob/camel-3.19.0/core/camel-api/src/main/java/org/apache/camel/spi/Registry.java].
Main motivation is Ignite running under OSGi which does not host Spring (Spring
framework dropped support for OSGi a while ago), and has alternative ways to
provide similar functionality. For OSGi there are mechanisms such as OSGi
Blueprint and OSGi Service Registry itself.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)