Я пытаюсь определить производителя CDI для инъекции того или иного экземпляра объекта.CDI @ Новые объекты @Singleton. Что оно делает?
Вот код производителя:
@Produces
public static MyRepository getMyRepository(@New MyCacheRepository cache,
@New MyNormalRepository db) {
if(conditions) {
return cache;
}
return db;
}
MyCacheRepository
объявлен @javax.inject.Singleton
. Является ли одноэлементным условием, соблюдаемым CDI в этом случае, или создаст экземпляр @New
MyCacheRepository
всякий раз, когда это требуется?