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

Метод init для ServiceActivatorAdapter
http://forum.bitel.ru/viewtopic.php?f=44&t=6188
Страница 1 из 1

Автор:  borisk [ 03 дек 2011, 14:32 ]
Заголовок сообщения:  Метод init для ServiceActivatorAdapter

Добрый день!

Есть такая иерархия:
FreeBSD (у него назначен класс serviceActivator)
MES3528 (классы не назначены)
MES3528 (классы не назначены)

Так вот заметил, что метод init для устройства FreeBSD вызывается столько раз, сколько у него дочерних устройств. Какой в этом смысл?

Автор:  Amir [ 06 дек 2011, 19:34 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

Это разные объекты, для каждого конечного устройства своя цепочка объектов.

Автор:  borisk [ 07 дек 2011, 08:38 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

Ммм.... как разные? Я проверял - метод init у меня вызывается 3 раза, и все три раза для объекта FreeBSD
Код функции:
Код:
   @Override
   public Object init( Setup setup, int moduleId, InetDevice device, InetDeviceType deviceType, ParameterMap deviceConfig )
      throws Exception
   {
      this.device = device;
      {
         String   [] obj = device.getHost().split(PORT_SEPARATOR);

         deviceAddress = InetAddress.getByName( obj[ 0 ] );
         devicePort = (obj.length == 2) ? Integer.valueOf( obj[ 1 ] ) : DEFAULT_PORT;
      }
      logger.error(" INIT ID: " + device.getId() + " TITLE: " + device.getTitle() + " TYPE: " + device.getDeviceType() + " TYPEID: " + device.getDeviceTypeId());
      // logger.debug(" INIT " + device.getTitle() + " " + deviceAddress.toString() + " " + devicePort);

      return null;
   }


Вывод функции:
Код:
mq 12-07/08:36:12 ERROR [event-proc-p-2-t-1] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: xxx [yyy/5009] TYPE: FreeBSD TYPEID: 3
mq 12-07/08:36:12  INFO [event-proc-p-2-t-1] InetDeviceRuntime - Reload protocolHandler class for device: DAS3248: DAS3248-STIP [10.0.1.29]
mq 12-07/08:36:12  INFO [event-proc-p-2-t-1] InetDeviceRuntime - Reload SA classes for device: DAS3248: DAS3248-STIP [10.0.1.29]
mq 12-07/08:36:12 ERROR [event-proc-p-2-t-1] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: xxx [yyy/5009] TYPE: FreeBSD TYPEID: 3
mq 12-07/08:36:12  INFO [event-proc-p-2-t-1] InetDeviceRuntime - Reload protocolHandler class for device: DAS3248: DAS-3248 [10.0.1.28]
mq 12-07/08:36:12  INFO [event-proc-p-2-t-1] InetDeviceRuntime - Reload SA classes for device: DAS3248: DAS-3248 [10.0.1.28]
mq 12-07/08:36:12 ERROR [event-proc-p-2-t-1] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: xxx [yyy/5009] TYPE: FreeBSD TYPEID: 3

Автор:  Amir [ 07 дек 2011, 13:07 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

Для каждого MES3528, т.к. они дочерние в цепочку активаторов добавляется свой объект класса, который назначен FreeBSD.
Это разные объекты:
Код:
logger.error( "ident: " + System.identityHashCode( this ) );

Автор:  borisk [ 17 дек 2011, 15:42 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

А что-то поменялось?? У меня количество и типы шлюзов не поменялись, но метод init теперь вызывается 6 раз!
Код:
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: x.ru [x.254/5009] TYPE: FreeBSD TYPEID: 3
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator - ident: 844344251
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: x.ru [x.254/5009] TYPE: FreeBSD TYPEID: 3
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator - ident: 321887181
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: x.ru [x.254/5009] TYPE: FreeBSD TYPEID: 3
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator - ident: 285747235
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: x.ru [x.254/5009] TYPE: FreeBSD TYPEID: 3
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator - ident: 558185842
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator -  INIT ID: 11 TITLE: FreeBSD: x.x.ru [x.254/5009] TYPE: FreeBSD TYPEID: 3
access 12-17/15:40:29 ERROR [main] FreeBSDServiceActivator - ident: 1220876398


Информация о версии:

Клиент: вер. 5.2 сборка 825 от 16.12.2011 20:11:04
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_29
Сервер: вер. 5.2 сборка 981 от 16.12.2011 20:10:50
os: FreeBSD; java: OpenJDK 64-Bit Server VM, v.1.6.0
ВНИМАНИЕ: Виртуальная машина OpenJDK 64-Bit Server VM не рекомендуется

card вер. 5.2 сборка 157 от 13.12.2011 17:45:34
email вер. 5.2 сборка 151 от 14.11.2011 16:46:01
inet вер. 5.2 сборка 628 от 16.12.2011 20:11:19
ipn вер. 5.2 сборка 203 от 14.11.2011 16:46:16
npay вер. 5.2 сборка 151 от 16.12.2011 15:59:10

Автор:  Amir [ 19 дек 2011, 12:49 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

Так постоянно при перезапуске? Может быть просто задание "Перечитать конфигурацию на серверах" выполнилось.

Автор:  borisk [ 19 дек 2011, 14:26 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

Постоянно. Проверял.

Автор:  Amir [ 19 дек 2011, 16:03 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

Два раза загружалось, второй раз как при нажатии "Перечитать конфигурацию".
В следующем билде должно быть нормально.

Автор:  borisk [ 19 дек 2011, 21:30 ]
Заголовок сообщения:  Re: Метод init для ServiceActivatorAdapter

Да, теперь вернулось к прежнему виду.

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