Использование Apache Felix 4.2.1 iPOJO 1.11.0.Программно создавать экземпляры компонентов ipojo при запросе пользователя
Требуется программно создавать экземпляры компонентов при запросе пользователя. Но я не могу использовать нестатические поля в статическом заводском методе.
@Component
@Provides(specifications = {IProcessSearch.class})
public class ProcessSearch implements IProcessSearch {
...
@Requires(filter = "(factory.name=ProcessSearch)")
private Factory mProcessSearchFactory;
...
/**
* Factory methods for receive new component instance:
*/
public static ProcessSearch createInstance() {
return createInstance(null);
}
public static ProcessSearch createInstance(Properties pProperties) {
InstanceManager lInstanceManager = (InstanceManager) mProcessSearchFactory.createComponentInstance(pProperties);
return (ProcessSearch) lInstanceManager.getPojoObject();
}
1) Если я правильно понял, то поле с аннотацией @Requires не может быть статичным. Как создать заводский метод, который принимает свойства и получает экземпляр нового компонента?
2) Это обычная практика?
стратегии - определяет стратегию обслуживания при условии (один сервис для всех пачек или нового сервиса для каждого пучка или обычая ...) (Или я ошибаюсь?). Но мне нужно создавать экземпляры. Не могли бы вы привести пример кода (или дать ссылку с примером), как использовать пользовательскую CreationStrategy на стороне потребителя? Например, мне нужно создать n (user enter n) экземпляров компонента MyService. Нужно создавать все экземпляры программно после ввода пользователем n. Благодарю. – Aleksandr