Чат является одним из самых канонических примеров для объяснения 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, выполните следующие действия:
- Нажмите здесь, чтобы подготовить экземпляр WildFly в OpenShift. Измените имя на «chatserver» и все остальное по умолчанию. Нажмите «Создать приложение», чтобы создать приложение.
- Клонировать рабочее пространство:
1
git clone ssh:
//[email protected]/~/git/chatserver.git/
- Отредактируйте первую строку «javaee7-samples / websocket / chat / src / main / webapp / websocket.js» из:
1
var wsUri =
"ws://"
+ document.location.hostname +
":"
+ document.location.port + document.location.pathname +
"chat"
;
чтобы:
1var wsUri =
"ws://"
+ document.location.hostname +
":8000"
+ document.location.pathname +
"chat"
;
- Создайте файл WAR:
12
cd javaee7-samples
mvn -f websocket/chat/pom.xml
- Скопируйте созданный файл WAR в рабочую область, клонированную ранее:
12
cd ..
cp javaee7-samples/websocket/chat/target/chat.war chatserver/deployments/ROOT.war
- Удалите существующие файлы и добавьте файл WAR в репозиторий git:
12345
cd chatserver
git rm -rf src pom.xml
git add deployments/ROOT.war
git commit . -m
"updating files"
git push
И это показывает вывод как:
010203040506070809101112131415161718192021222324Counting 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 и выглядит так:
Наслаждайтесь!
Ссылка: | WebSocket Chat на WildFly и OpenShift от нашего партнера по JCG Аруна Гупта в блоге Miles to go 2.0… . |