Hi igniters!

Presently, Spring Data for Ignite can't be configured dynamically. I mean ,
than I defines repository by the code:

@Repository
@RepositoryConfig(cacheName = "Calendar")
public interface CalendarRepository extends IgniteRepository<Calendar, String> {
    List<Calendar> findByName(String name);
}

But I need to configure used cache dynamically ( at runtime). To solve
this problem is proposed to use Spring Expression Language. By the
way, I will have possibility to use the code:

@Repository
@RepositoryConfig(cacheName = "${cache.calendar.name}")
public interface CalendarRepository extends IgniteRepository<Calendar, String> {
    List<Calendar> findByName(String name);
}

And property "cache.calendar.name" can be configured as usual property
at Spring Framework.

But way brakes current configuration way and I would ask about how we
can set cache name by  expression or constant string.

I see options:

1) field "cacheName" will be able to process expression and constant
string. The code of repository factory will analyse the field.

2) create new field for expressions


What is best way?


-- 
---------------------

With best regards, Sergey Chernolyas

Reply via email to