Я хочу смешивать стандартное приложение J2EE и играть в веб-сокеты. Оба написаны в Scala.Как смешивать Java-сервлеты с веб-сокетами в каркасе Play?
Мне удалось получить код Play-Play для компиляции с моим кодом J2EE Scala, включив некоторые из банок из дистрибутива платформы Play. Однако я не могу понять, как получить обработчик веб-сокета Play для прослушивания соединений.
Я обычно запустить приложение с использованием Jetty (java -jar jetty-runner.jar myapp.war
)
Я не против запуска приложения до тех пор, как я могу использовать как сервлеты и веб-сокет Play с помощью play run
.
Есть ли лучшее решение, чем запуск двух приложений в отдельных контейнерах?
Приложение J2EE использует HTML, JSP, сервлеты и JDBC.
Можете ли вы выразить свою мотивацию? Самый простой способ - разделить ваши приложения и предоставить nginx «единый фронт HTTP» на всех ваших HTTP-серверах. –
@AndrewE У меня есть полностью разработанное J2EE-приложение, и я хочу добавить к нему некоторые функции websocket. Я предпочитаю код Play для этого, а не альтернативы, потому что он очень чистый. Тем не менее, я не хочу, чтобы Play'ify все мое приложение, так как это потребует слишком больших усилий. – Jus12
Хм. Я бы не предлагал играть в все ваше приложение, а просто сохранял основные компетенции там, где они есть: ваше приложение J2EE остается таким, как есть, и добавляет новое небольшое приложение для веб-приложений Play. Используйте nginx спереди, чтобы вызывающие пользователи ударили по одному хосту: порт; некоторые URI направляются в J2EE, а некоторые - в Play/WS. Конечно, есть плюсы и минусы с этим, но это держит вещи простыми, раздельными и понятными. –