Работа с новой фичей NCALayer - модули
(0 чел.) 
  • Страница:
  • 1
  • ...
  • 5
  • 6
  • 7
  • 8
  • 9
  • ...
  • 12

ТЕМА: Работа с новой фичей NCALayer - модули

Re: Работа с новой фичей NCALayer - модули 2 года, 2 мес. назад #3173

  • developer
  • Захожу иногда
  • Постов: 51
  • Репутация: 3
это просто мы изменили, чтобы ваш локальный ncalayer.der не заменялся при тестровании. это нормально.

Да, это уже понял.

Но проблема осталась. Я отправляю JSON, а мне возвращается "Module-not-found"

Так что лучше даже добавить к symname что-то.

Не понял честно говоря. У меня всего лишь один сервис. И symbolic name должен быть еще такой же, какой мы высылали на почту, для получения .der файла.

Кстати, название module (фактически это handler-сервис) необязательно соответствует bundle-symbolicname,


Но ведь вы говорили, что bundle-symbolicname должен равнятся тому что указано в манифесте. Его же, я указал при регистрации сервиса в активаторе. Точно так же называется и сам класс сервиса и пакет соответственно.

Странно, в родных бандлах это поле вообще не задается и все работает.

Как я понял, эклипс требует это, ну это уже не особо важно.

на данный момент ,в логах по прежнему
2017-06-13 14:51:26 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: Opened
2017-06-13 15:02:36 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: C [Self] InternalServerError: Handler terminated without closing the connection.
2017-06-13 15:02:36 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: Opened
2017-06-13 15:03:04 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: C [Self] InternalServerError: Handler terminated without closing the connection.
2017-06-13 15:03:04 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: Opened



Прикрепить скрин не получается, загрузил его на сайт. На скрине запрос и ответ веб сокета.
Изменено: 2 года, 2 мес. назад от developer.

Re: Работа с новой фичей NCALayer - модули 2 года, 2 мес. назад #3174

  • ololo
  • Живу я здесь
  • Постов: 464
  • Репутация: 57
Bundle-SymbolicName не нужно трогать. Я имею ввиду параметр module может отличаться от него.
например, есть бандл
Bundle-SymbolicName: kz.gov.pki.api.layer.NCALayerServices,
а у него есть сервис
module: kz.gov.pki.ncalayerservices.accessory

Это просто для информации.
В логах какие есть данные о сервисах?
типа
2017-06-13 14:22:03 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: Registered logService on load
2017-06-13 14:22:03 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: Registered ncaLayerService on load
2017-06-13 14:22:03 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: Register Module Service kz.gov.pki.ncalayerservices.accessory
...
2017-06-13 14:22:05 INFO  [kz.gov.pki.api.layer.service.LogWriter] - [kz.gov.pki.osgi.layer.websocket]: Register Module Service kz.gov.pki.knca.applet.Applet

среди них есть ваш?
gg wp

Re: Работа с новой фичей NCALayer - модули 2 года, 2 мес. назад #3175

  • developer
  • Захожу иногда
  • Постов: 51
  • Репутация: 3
Нет, он там отсутствует.

Сделал в методе start() вот так, чтобы проверить:
ServiceReference<?> serviceReference = context.
	        	    getServiceReference(Bundle-SymbolicName.class.getName());
	        
	        logService.log(LogService.LOG_INFO, "serviceReference.toString()" + serviceReference.toString());

В логе
Caused by: java.lang.NullPointerException: null
	at xxx.x.x.x.Activator.start(Activator.java:38)
	at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1709)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:688)
	at org.apache.felix.framework.Felix.activateBundle(Felix.java:2238)
	... 4 common frames omitted


Очевидно, что он не зарегистрировался. Интересно почему. Сам сервис implements ModuleService.
Изменено: 2 года, 2 мес. назад от developer.

Re: Работа с новой фичей NCALayer - модули 2 года, 2 мес. назад #3176

  • ololo
  • Живу я здесь
  • Постов: 464
  • Репутация: 57
Да, заметил, что статус бандла был после RESOLVED STARTING. Не зарегистрировался. Надо залогировать какие действия делаются
gg wp

Re: Работа с новой фичей NCALayer - модули 2 года, 2 мес. назад #3177

  • developer
  • Захожу иногда
  • Постов: 51
  • Репутация: 3
Сделал ,всё, как в примере.
 private void registerService(BundleContext context, ModuleServiceImpl moduleService) {
        Hashtable<String, String> props = new Hashtable<String, String>();

        //имя сервиса - kz.sample.osgi.NLSampleModule
        //Запрос к NcaLayer должен содержать параметр "module", имя сервиса, к которому идет обращение. Например:
        //{
        //  module: "kz.sample.osgi.NLSampleModule",
        //  name: "UserName",
        //  ...
        //}
        props.put("module", "kz.sample.osgi.NLSampleModule");

        ServiceRegistration serviceRegistration = context.registerService(ModuleService.class.getName().toString(), moduleService, props);
    }


Интересно, есть ли те, кто уже сделал модуль нормально работающий.
Изменено: 2 года, 2 мес. назад от developer.

Re: Работа с новой фичей NCALayer - модули 2 года, 2 мес. назад #3178

  • ololo
  • Живу я здесь
  • Постов: 464
  • Репутация: 57
вы после внесенных изменений и перед загрузкой нового jar, из ncalayer-cache старую версию бандла удалять не забываете?
gg wp
  • Страница:
  • 1
  • ...
  • 5
  • 6
  • 7
  • 8
  • 9
  • ...
  • 12
FaLang translation system by Faboba