Как развернуть сервер на основе 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

Другие вопросы по тегам