2017-02-22 46 views
2

У нас есть существующее приложение RCP затмения, которое работает как отдельный продукт. На высоком уровне этот продукт используется для настройки спецификации изображения с использованием пользовательского интерфейса, и мы можем экспортировать образец изображения на основе этой конфигурации. Теперь мы разрабатываем другое веб-приложение, имеющее несколько модулей, и один его модуль должен разработать что-то, что делает наше приложение RCP Eclipse. Чтобы обеспечить БЫСТРОЕ интеграцию приложения RCP для демонстрационной цели, я планирую запустить приложение RCP отдельно на серверной машине и выставить его статическую функциональность как веб-сервис RESTful. Поэтому модуль должен сделать RESTful-вызов для приложения RCP.Наличие службы RESTful в приложении RCP

Теперь просто начать с я пытался встроить сервер пристанью хостинг службы REST во время начала RCP приложения, как показано ниже

enter image description here

enter image description here

Но дело после Jetty сервер запущен. Я не могу получить доступ к TestWebService, используя сконфигурированный путь. Поэтому я смущен, если это правильный подход, чтобы иметь RESTful-сервис внутри приложения RCP. Обратите внимание, что iam способен поразить сервер http://localhost:1002, но не сервис.

Ниже журнала консоли, когда я попал на http://localhost:1002/hello/test:

enter image description here

+0

Вы уверены, что запускает Jetty? Можете ли вы предоставить нам несколько журналов? –

+0

обновил мое сообщение с журналом. Похоже, что сервисный класс RESTful не загружается/не регистрируется сервлетом. Этот же код отлично работает, если я встраиваю причал в основной метод класса java внутри автономного проекта-заглушки. –

ответ

1

Это действительно странно архитектуры вы экспериментируете с. Я хочу написать RCP-приложение, которое прослушивает порт и предлагает услуги REST на нем; это может привести к дальнейшим препятствиям.

Вместо этого я разделил бы его на два программных артефакта: RCP-приложение и веб-приложение (.war).

Вы можете извлечь банку бизнес-логики (это может быть плагин OSGi, если необходимо), связанный с вашей логикой манипуляции с изображением. Затем включите этот плагин/.jar в качестве зависимости в webapp и предложите его функциональные возможности через веб-контейнер (Tomcat, GlassFish и т. Д.)

Итак, ваше другое (третье) приложение будет подключаться к Интернету -услуги, предлагаемые этим .war файлом.

opt.1) Если вам нужен один запущенный экземпляр (из-за базы данных или другого общего ресурса), то вашему RCP-приложению придется использовать эту службу REST.

opt.2) Если нет, тогда просто скомпилируйте .jar/plug-in, содержащий бизнес-логику, в ваше RCP-приложение.

+0

Я полностью согласен с тобой и точно, что я пытаюсь сделать, нигде не близок к идеальным решениям. Но основное внимание здесь заключается в том, что мы хотим продемонстрировать быструю демонстрацию возможностей приложения RCP, которое у нас уже есть, и обеспечить интеграцию с минимальными усилиями без изменения приложения RCP. Я уверен, что в будущем мы будем выделять время для реорганизации бизнес-логики, например, из вашего кода. –