У меня проблема: 1) наш проект использует Spring JavaConfig (так что нет xml-файлов) 2) Мне нужно создать собственную область видимости, пример в xml выглядит так: :Spring JavaConfig, пользовательские области и аннотации bean
<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
<property name="scopes">
<map>
<entry key="workflow">
<bean
class="com.amazonaws.services.simpleworkflow.flow.spring.WorkflowScope" />
</entry>
</map>
</property>
Я понял это с JavaConfig это будет выглядеть примерно так:
@Bean
public CustomScopeConfigurer customScope() {
CustomScopeConfigurer configurer = new CustomScopeConfigurer();
Map<String, Object> workflowScope = new HashMap<String, Object>();
workflowScope.put("workflow", new WorkflowScope());
configurer.setScopes(workflowScope);
return configurer;
}
Поправьте меня, я f Я ошибаюсь в своем предположении.
3) Мне нужно, чтобы комментировать мой класс что-то как @Component (ТЗ = «рабочий процесс») снова XML конфигурация будет выглядеть следующим образом:
<bean id="activitiesClient" class="aws.flow.sample.MyActivitiesClientImpl" scope="workflow"/>
Так в основном вопрос - я прав с моим предположение использовать @Component (scope = "workflow") или ожидается, что он будет каким-то другим способом?
Благодаря
Я только что получил предупреждение '@Bean метод getWorkflowScope является нестатический и возвращает объект, назначаемый интерфейсу BeanFactoryPostProcessor Spring. Это приведет к сбою обработки аннотаций, таких как @Autowired, @Resource и @PostConstruct в классе объявления @Configuration. Добавьте «статический» модификатор к этому методу, чтобы избежать проблем с жизненным циклом контейнера. «Просто FYI, ваш метод должен читать' @ 'Bean public ** static ** CustomScopeConfigurer –