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/ |