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