Статьи

WebSocket Chat на WildFly и OpenShift

Чат является одним из самых канонических примеров для объяснения WebSocket. Это довольно часто используемый интерфейс и позволяет очень легко объяснить основные концепции WebSocket. Конечно, Java EE 7 WebSocket также имеет один, доступный здесь ! Вы можете легко запустить его на WildFly, используя следующие шаги:

1
2
3
4
5
6
curl -O http://download.jboss.org/wildfly/8.1.0.Final/wildfly-8.1.0.Final.zip
unzip wildfly-8.1.0.Final.zip
./wildfly-8.1.0.Final/bin/standalone.sh
git clone https://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples
mvn -f websocket/chat/pom.xml wildfly:deploy

А затем получите доступ к нему по адресу http: // localhost: 8080 / chat / .

Одним из самых больших преимуществ WebSocket является то, что он открывает сокет через тот же порт, что и HTTP, в данном случае 8080. Если вы хотите развернуть это приложение в OpenShift, то WebSocket доступен на порту 8000 для обычного доступа и 8443 для безопасного доступа. Это объясняется на рисунке ниже:

OpenShift-WebSocket-маршрутизации

Если вы хотите запустить это приложение чата в OpenShift, выполните следующие действия:

  1. Нажмите здесь, чтобы подготовить экземпляр WildFly в OpenShift. Измените имя на «chatserver» и все остальное по умолчанию. Нажмите «Создать приложение», чтобы создать приложение.
  2. Клонировать рабочее пространство:
    1
    git clone ssh://[email protected]/~/git/chatserver.git/
  3. Отредактируйте первую строку «javaee7-samples / websocket / chat / src / main / webapp / websocket.js» из:
    1
    var wsUri = "ws://" + document.location.hostname + ":" + document.location.port + document.location.pathname + "chat";

    чтобы:

    1
    var wsUri = "ws://" + document.location.hostname + ":8000" + document.location.pathname + "chat";
  4. Создайте файл WAR:
    1
    2
    cd javaee7-samples
    mvn -f websocket/chat/pom.xml
  5. Скопируйте созданный файл WAR в рабочую область, клонированную ранее:
    1
    2
    cd ..
    cp javaee7-samples/websocket/chat/target/chat.war chatserver/deployments/ROOT.war
  6. Удалите существующие файлы и добавьте файл WAR в репозиторий git:
    1
    2
    3
    4
    5
    cd chatserver
    git rm -rf src pom.xml
    git add deployments/ROOT.war
    git commit . -m"updating files"
    git push

    И это показывает вывод как:

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Counting objects: 6, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (4/4), done.
    Writing objects: 100% (4/4), 6.88 KiB | 0 bytes/s, done.
    Total 4 (delta 1), reused 0 (delta 0)
    remote: Stopping wildfly cart
    remote: Sending SIGTERM to wildfly:285130 ...
    remote: Building git ref 'master', commit 05a7978
    remote: Preparing build for deployment
    remote: Deployment id is 14bcec20
    remote: Activating deployment
    remote: Deploying WildFly
    remote: Starting wildfly cart
    remote: Found 127.2.87.1:8080 listening port
    remote: Found 127.2.87.1:9990 listening port
    remote: /var/lib/openshift/544f08a850044670df00009e/wildfly/standalone/deployments /var/lib/openshift/544f08a850044670df00009e/wildfly
    remote: /var/lib/openshift/544f08a850044670df00009e/wildfly
    remote: CLIENT_MESSAGE: Artifacts deployed: ./ROOT.war
    remote: -------------------------
    remote: Git Post-Receive Result: success
    remote: Activation status: success
    remote: Deployment completed with status: success
    To ssh://[email protected]/~/git/chatserver.git/
    454bba9..05a7978  master -> master

И теперь ваш чат-сервер доступен по адресу: http://chatserver-milestogo.rhcloud.com и выглядит так:

techtip51-WebSocket-чат-выход

Наслаждайтесь!

Ссылка: WebSocket Chat на WildFly и OpenShift от нашего партнера по JCG Аруна Гупта в блоге Miles to go 2.0… .