2012-08-09 5 views
0

Я в процессе демонстрации некоторых данных, сгенерированных в одном пакете OSGi с интерфейсом REST, поэтому его можно использовать с типичными HTTP-запросами впоследствии. Для этого я использую комбинацию apache-cxf, JAX-RS и Jetty (для целей тестирования в основном).apache-cxf dosgi restful service as weirdness plug-in eclipse

Вся моя заявка распространяется двумя способами:

  • Core: Запускает набор минимальных пучков в качестве основы OSGi.
  • Full: Core + плюс набор плагинов, которые будут использоваться в Eclipse графическим способом, чтобы выразить это так.

Хотя в конфигурации запуска ядра я могу сделать эту работу без каких-либо проблем, взглянуть на МАНИФЕСТЕ:

Require-Bundle: cxf-dosgi-ri-singlebundle-distribution;bundle-version="1.3.1",org.eclipse.core.runtime, org.eclipse.osgi.services;bundle-version="3.3.0", org.mortbay.jetty.server;bundle-version="6.1.23", org.mortbay.jetty.util;bundle-version="6.1.23" 

Когда я пытаюсь запустить полный дистрибутив, молы сервер не кажется и, таким образом, служба RESTful работает неправильно. Полный дистрибутив поставляется с гораздо большим количеством плагинов, в основном связанных с мастерами, перспективами и т. Д. Корень этой проблемы каким-то образом связан с комплексом дистрибутивов cxf-dosgi-ri-singlebundle и может быть решена путем «принудительного» автозапуска этого пакета в значение true, а не по умолчанию (проверьте изображение ниже):

enter image description here

Пока все в порядке, мой вопрос ... почему это происходит? И второе и самое главное, я распространяю полный дистрибутив через сайт обновлений, чтобы пользователи могли его загрузить, открыть перспективу и начать использовать ее, что сказалось бы, это повлияет на окончательный дистрибутив? Есть ли способ, которым я могу управлять этим автозапуском = true для пакета apache-cxf на сайте обновления?

Надеется, что я могу сделать себе ясно ...

Спасибо!

ответ

0

Я не люблю отвечать на мои собственные вопросы, но так как я не получаю никакой обратной и, возможно, кто-то имеет такую ​​же проблему ... вот он идет

я решил изменить весь дизайн моего успокоительные , не используя apache-cxf, так как это действительно не нужно. Все, что мне нужно, - это встроенный сервер Jetty и javax для работы с HttpRequests и HttpResponses. Таким образом, я избавляюсь от зависимостей от сторонних библиотек, одновременно используя проблемы с запуском.

Есть идеи из этих официальных сайтов в Eclipe:

Embedding an HTTP server in Equinox

Writing a bundle-based server application

Кроме того, более практический учебные пособия можно также найти здесь:

OSGi as a Web Server application

Extending Eclipse: displaying HTML content from a bundled archive

Особая благодарность обоим авторам за просвещение :).