Ł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)

Reply via email to