forum.bitel.ru
http://forum.bitel.ru/

Экземпляры ServiceActivator
http://forum.bitel.ru/viewtopic.php?f=44&t=11053
Страница 1 из 1

Автор:  Jimson [ 29 окт 2015, 17:44 ]
Заголовок сообщения:  Экземпляры ServiceActivator

Не могу понять сколько будет создано экземпляров ServiceActivator для каждого устройства и почему так.
Я вижу что для дерева устройств
NAS:NAS
--- child:dev1
------ child:dev2
------ child:dev3
создается 4 SA для устройства "NAS".

У меня в дереве "под NAS" будет в районе 300-400 устройств, переживаю.

Автор:  Amir [ 29 окт 2015, 18:15 ]
Заголовок сообщения:  Re: Экземпляры ServiceActivator

Сколько потомков - столько будет экземпляров.
С более 2000 устройств нормально работает. Есть в планах переделать схему работы, но пока особой необходимости не было.

Автор:  Jimson [ 29 окт 2015, 18:44 ]
Заголовок сообщения:  Re: Экземпляры ServiceActivator

Понятно. Если я буду свои данные в private static хранить и в init() проверять время последней загрузки, ну как то так
Код:
private static long initTime;
private static Object myBigData;
public Object init(....) {
    synchronized (this.initTime) {
        if ( System.currentTimeMillis() - this.initTime > 60 * 1000 ) {
            .... загрузка данных в this.myBigData ...
            this.initTime = System.currentTimeMillis();
        }
    }
}

в этом ничего крамольного нет?

Автор:  Amir [ 29 окт 2015, 18:57 ]
Заголовок сообщения:  Re: Экземпляры ServiceActivator

Код:
private static final Object myMutex = new Object();
private static volatile long initTime;
private static volatile Object myBigData;
public Object init(....) {
    synchronized (myMutex) {
        if ( myBigData == null || System.currentTimeMillis() - this.initTime > 60 * 1000 ) {
            .... загрузка данных в this.myBigData ...
            this.initTime = System.currentTimeMillis();
        }
    }
}

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/