Как развернуть сервер на основе Dukescript Jersey в производственной среде?
Я опробую Dukescript на основе " CRUD с JerseyFaces" в netbeans и понимаю, что когда веб-модуль создается через maven, создается файл jar.
Как вы предлагаете мне развернуть свое веб-приложение, скажем, на сервере приложений Wildfly или JBoss AS 7.1?
1 ответ
На сайте DukeScript есть учебник, который делает именно то, что вы хотите. Я копирую соответствующие части здесь (поскольку я являюсь автором учебника) и ссылку для справки: я использую NetBeans 8.0.2 с последней версией плагина DukeScript и WildFly 8.2.0 для этого. Я предполагаю, что вы уже создали проект с использованием CRUD Archetype.
Цель нашего примера из Джерси - показать, как вы можете взаимодействовать с сервером через сообщения JSON. Таким образом, единственная цель серверного модуля - отвечать на запросы клиента. Для более традиционной настройки вы можете просто создать более традиционный веб-проект, например, используя шаблон проекта веб-приложения Maven.
В родительском проекте щелкните правой кнопкой мыши "Модули" и выберите "Создать новый модуль" в контекстном меню. В появившемся мастере выберите "Maven -> Веб-приложение". На втором этапе вы можете выбрать сервер. Выберите Wildfly здесь. Если его нет в выпадающем списке, нажмите кнопку "Добавить" и укажите его в директории Wildfly. Затем подтвердите настройки и завершите работу мастера.
Теперь используйте "New -> Web Services -> Restful WebService from pattern" и создайте Singleton Web Service. Это необходимо только для настройки проекта для веб-служб. Вы можете удалить класс, который вы только что создали. Теперь добавьте следующий класс в ваш проект:
@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
addRestResourceClasses(resources);
return resources;
}
/**
* Do not modify addRestResourceClasses() method.
* It is automatically populated with
* all resources defined in the project.
* If required, comment out calling this method in getClasses().
*/
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(fully.qualified.path.to.ContactsResource.class);
}
}
Теперь скопируйте ContactsResource в новый проект и удалите старый серверный проект. Обязательно добавьте проект с "Структурой данных Shared Client Server" в качестве зависимости, чтобы вы могли снова использовать модель данных. Если вы используете NetBeans, вы теперь увидите ContactsResource в IDE под узлом Restful Web Services. Теперь вы можете запустить сервер и указать клиенту это более традиционное веб-приложение.
https://dukescript.com/best/practices/2015/08/26/CRUD-Example-with-Wildfly.html