2014-09-27 1 views
1

Я хочу смешивать стандартное приложение 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.

+0

Можете ли вы выразить свою мотивацию? Самый простой способ - разделить ваши приложения и предоставить nginx «единый фронт HTTP» на всех ваших HTTP-серверах. –

+0

@AndrewE У меня есть полностью разработанное J2EE-приложение, и я хочу добавить к нему некоторые функции websocket. Я предпочитаю код Play для этого, а не альтернативы, потому что он очень чистый. Тем не менее, я не хочу, чтобы Play'ify все мое приложение, так как это потребует слишком больших усилий. – Jus12

+0

Хм. Я бы не предлагал играть в все ваше приложение, а просто сохранял основные компетенции там, где они есть: ваше приложение J2EE остается таким, как есть, и добавляет новое небольшое приложение для веб-приложений Play. Используйте nginx спереди, чтобы вызывающие пользователи ударили по одному хосту: порт; некоторые URI направляются в J2EE, а некоторые - в Play/WS. Конечно, есть плюсы и минусы с этим, но это держит вещи простыми, раздельными и понятными. –

ответ

1

Play использует sbt для своей системы сборки. Я бы сказал, что самый простой способ достичь вашей цели woudld работать наоборот, придерживаясь sbt для компиляции и создания обоих - проект Servelet и проект play2. Sbt компилирует scala и java-источники просто отлично, если каталоги configured properly. Поскольку play2 уже генерирует a proper sbt build config, все, что вам нужно, - это подключить к нему конфигурацию сборки сервлета. Sbt имеет несколько плагинов для специальных задач, и в этом случае вы можете использовать x-sbt-webplugin.

Смежные вопросы