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

Yakov Zhdanov updated IGNITE-25:
--------------------------------
    Description: 
Currently all SPIs have getters and setters directly on the SPI class which 
makes it impossible to reuse the same configuration for different grids.

A better approach is have a configuration bean for every SPI:
# GridSomeSpiConfiguration class should have method {{spiClass()}} as follows:
{code}
interface GridSpiConfiguration {
    public abstract Class<?> spiClass()
}

class GridMySpiConfiguration implements GridSpiConfiguration {
    public Class<?> spiClass() {
        return GridMySpi.class;
    }
    ...
}
{code}
# The naming convention for SPI configuration class should be 
{{GridMySpiConfiguration}}.
# GridConfiguration class should be refactored to work with SPI configuration 
classes.
# Every SPI needs to have a constructor that receives the configuration as a 
parameter.
# All the tests (and test framework) need to be updated.

> Need to add separate configuration bean to all SPIs
> ---------------------------------------------------
>
>                 Key: IGNITE-25
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Yakov Zhdanov
>            Assignee: Yakov Zhdanov
>             Fix For: sprint-1
>
>
> Currently all SPIs have getters and setters directly on the SPI class which 
> makes it impossible to reuse the same configuration for different grids.
> A better approach is have a configuration bean for every SPI:
> # GridSomeSpiConfiguration class should have method {{spiClass()}} as follows:
> {code}
> interface GridSpiConfiguration {
>     public abstract Class<?> spiClass()
> }
> class GridMySpiConfiguration implements GridSpiConfiguration {
>     public Class<?> spiClass() {
>         return GridMySpi.class;
>     }
>     ...
> }
> {code}
> # The naming convention for SPI configuration class should be 
> {{GridMySpiConfiguration}}.
> # GridConfiguration class should be refactored to work with SPI configuration 
> classes.
> # Every SPI needs to have a constructor that receives the configuration as a 
> parameter.
> # All the tests (and test framework) need to be updated.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to