Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring events и пересоздание бинов 
:(
    Опции темы
4dinterface
Дата 8.7.2017, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.7.2017

Репутация: нет
Всего: нет



Юзаю spring events, проблема в том что пересоздается бин подписчика а мне этого не надо. Мне просто нужно свое событие, которое я могу обработать.

Как заюзать офигенную сиситему событий так чтобы бин не переоздавался ?

подписка
Код

public class Workzone{
    @EventListener
    void onOpenDocument(OpenDocument event) {
         //бла бла бла
    }
}


контейнер
Код

@Configuration
@Import(ecco.arhitector.Context.class)
@Lazy
public class ScreensConfig {
    @Bean
    //@Scope("prototype")
    public WorkspaceController workspaceController() {
        // вся эта [S]порнография[/S] магия отношения к теме не имеет, 
        // важно что функция вызывается и ее результатом становится или кэш или новый контроллер 
        load("/app/ui/view.fxml");
        WorkspaceController ctrl= loader.getController();
        ctrl.view = view;
        return ctrl;
    }
}


вызов
Код


public class TreeController extends Toolbox { 
 
    @PostConstruct 
    void init(){
        TreeItem<String> root = createTree(data);
        projectTree.setRoot(root);          
        
        //событие вызывается по клику
        projectTree.setOnMouseClicked(event->{
             publisher.publishEvent(new OpenDocument(this,"hello"));
        });
}


само событие
Код


public class OpenDocument {
    private Object doc;

    public OpenDocument(Object source, Object doc) {
        this.doc = doc;
    }

    public Object getDocument() {
        return doc;
    }
}



сообщение в консоле указывающее на то что бин взят из кеша при отработке события, стоял бы на бине @prototype было бы пересоздание 
Код

DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'workzoneController'


Примечания
Это javafx приложение, но как я понимаю, это нечего не должно менять. В классах  только код по теме, а не весь.

Это сообщение отредактировал(а) 4dinterface - 8.7.2017, 19:08
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1039 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.