[ 
https://issues.apache.org/jira/browse/IGNITE-22224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikhail Pochatkin updated IGNITE-22224:
---------------------------------------
    Description: 
Currently, we have follow classes in *ignite-api* 
 # org.apache.ignite.Ignite
 # org.apache.ignite.Ignition
 # org.apache.ignite.IgnitionManager
 # org.apache.ignite.InitParameters
 # org.apache.ignite.InitParametersBuilder

While the first interface still makes sense, since it is the access point to 
the entire public API, the others have no such relationship to the API. These 
classes and interface are necessary to start *Apache Ignite 3* in embedded mode 
and cannot be used on their own, but you need to have access to the 
*ignite-runner* module and use implementations from there.

 

This ticket proposes to remove these interfaces from the module with the public 
API and move them to the new module {*}ignite-embedded{*}. Also, by anology 
with Thin Clients we should rework *Ignition* interface and create 
*IgniteEmbedded* interface which should be entry point to embedded mode. 

*IgnitionManager* interface should be removed and *IgniteEmbedded* creation 
process reworked to builder pattern like Thin Clients. 

Cluster initialization process also should be reworked and all initialization 
methods moved to *IgniteEmbedded* interface.

> Rework embedded mode API 
> -------------------------
>
>                 Key: IGNITE-22224
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22224
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Mikhail Pochatkin
>            Priority: Major
>              Labels: ignite-3
>
> Currently, we have follow classes in *ignite-api* 
>  # org.apache.ignite.Ignite
>  # org.apache.ignite.Ignition
>  # org.apache.ignite.IgnitionManager
>  # org.apache.ignite.InitParameters
>  # org.apache.ignite.InitParametersBuilder
> While the first interface still makes sense, since it is the access point to 
> the entire public API, the others have no such relationship to the API. These 
> classes and interface are necessary to start *Apache Ignite 3* in embedded 
> mode and cannot be used on their own, but you need to have access to the 
> *ignite-runner* module and use implementations from there.
>  
> This ticket proposes to remove these interfaces from the module with the 
> public API and move them to the new module {*}ignite-embedded{*}. Also, by 
> anology with Thin Clients we should rework *Ignition* interface and create 
> *IgniteEmbedded* interface which should be entry point to embedded mode. 
> *IgnitionManager* interface should be removed and *IgniteEmbedded* creation 
> process reworked to builder pattern like Thin Clients. 
> Cluster initialization process also should be reworked and all initialization 
> methods moved to *IgniteEmbedded* interface.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to