BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 30 июн 2025, 22:36

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Экземпляры ServiceActivator
СообщениеДобавлено: 29 окт 2015, 17:44 
Не в сети

Зарегистрирован: 07 май 2008, 13:34
Сообщения: 594
Откуда: Москва
Карма: 27
Не могу понять сколько будет создано экземпляров ServiceActivator для каждого устройства и почему так.
Я вижу что для дерева устройств
NAS:NAS
--- child:dev1
------ child:dev2
------ child:dev3
создается 4 SA для устройства "NAS".

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экземпляры ServiceActivator
СообщениеДобавлено: 29 окт 2015, 18:15 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Сколько потомков - столько будет экземпляров.
С более 2000 устройств нормально работает. Есть в планах переделать схему работы, но пока особой необходимости не было.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экземпляры ServiceActivator
СообщениеДобавлено: 29 окт 2015, 18:44 
Не в сети

Зарегистрирован: 07 май 2008, 13:34
Сообщения: 594
Откуда: Москва
Карма: 27
Понятно. Если я буду свои данные в 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();
        }
    }
}

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экземпляры ServiceActivator
СообщениеДобавлено: 29 окт 2015, 18:57 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Код:
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();
        }
    }
}


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.032s | 23 Queries | GZIP : On ]