SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
WebLogicのWebSocket
Takahiro YAMADA
@yamadamn
2013/8/19
WebLogic Server (WLS) 12.1.2
• Java EE 6対応
• リリース: 2013/7/11
• 商用APサーバーとして、WebSocketに早い段階で対応
ある夜明けのこと
エヴァンジェリストに絡んでる人を発見...
※プライバシー保護のため一部加工しています
何が起こったのか?
• その前日のこと
マニュアルを見てみると
• http://docs.oracle.com/middleware/1212/wls/WLPRG/websockets_sse.htm
確かに独自実装
WLS 12.1.2のリリースは、2013/7/11なので
タイミング的に間に合わなかったっぽい
JSR 356
エヴァンジェリストからの援護射撃
ヒゲメン登場
実はこの方、昔のBEAシステムズでWLSサポート担当
実装イメージ
import weblogic.websocket.WebSocketAdapter;
import weblogic.websocket.WebSocketConnection;
import weblogic.websocket.WebSocketContext;
import weblogic.websocket.annotation.WebSocket;
 
@WebSocket(pathPatterns="/hello", timeout=300)
public class MyListener extends WebSocketAdapter {
@Override
public void onMessage(WebSocketConnection connection, String payload) {
// 受信時の処理
}
 
public void broadcast(String message) {
for (WebSocketConnection con : context.getWebSocketConnections()) {
if (con.isOpen()) {
con.send(message); // 送信
}
}
}
}
weglogic.websocket
パッケージを利用
WebSocketアノテーション
+
(WebSocketListenerの実装
or
WebSocketAdapterの継承)
(参考) JSR 356の実装イメージ
import java.util.*;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
 
@ServerEndpoint("/hello")
public class MyEndpoint {
 
private static Set<Session> sessions = Collections.synchronizedSet(new HashSet<Session>());
@OnMessage
public void onMessage(String message) {
// 受信時の処理
}
public void broadcast(String message) {
for (Session session : sessions) {
if session.isOpen() {
session.getAsyncRemote().sendText(message); // 送信
}
}
}
@OnOpen
public void onOpen(Session session){
sessions.add(session);
}
@OnClose
public void onClose(Session session){
sessions.remove(session);
}
}
まとめ
• 手早く手厚くWebSocketのサポートを受けたい方
• WebLogic Server 12.1.2
• サポートは弊社の利用をご検討ください m(_ _)m
• 標準準拠でなければ使いたくない方
• GlassFish 4.0
• WebLogic Server 12.1.3 (おそらくJSR 356に準拠)
• 謝辞
• てらだよしお愛してる
• ヒゲメンまじイケメン
• ネタに使った@btn*****さん、ごめんなさい
ご清聴いただき、ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視
Kodai Terashima
 

Was ist angesagt? (20)

第1回CloudStack読書会
第1回CloudStack読書会第1回CloudStack読書会
第1回CloudStack読書会
 
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDKLagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDK
 
Windows Server Community Meetup#2:New features of Microsoft SDN v2 in Windows...
Windows Server Community Meetup#2:New features of Microsoft SDN v2 in Windows...Windows Server Community Meetup#2:New features of Microsoft SDN v2 in Windows...
Windows Server Community Meetup#2:New features of Microsoft SDN v2 in Windows...
 
20160217 hbstudy73 linux on Azure
20160217 hbstudy73 linux on Azure20160217 hbstudy73 linux on Azure
20160217 hbstudy73 linux on Azure
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual Node
 
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
 
Azure vm の可用性を見直そう
Azure vm の可用性を見直そうAzure vm の可用性を見直そう
Azure vm の可用性を見直そう
 
MySQL Clusterのトラブル事例
MySQL Clusterのトラブル事例MySQL Clusterのトラブル事例
MySQL Clusterのトラブル事例
 
Jjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring CloudJjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring Cloud
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
Climbどこでもセミナー「物理・仮想・クラウド保護の最適解は?環境に合わせたバックアップの選び方」
Climbどこでもセミナー「物理・仮想・クラウド保護の最適解は?環境に合わせたバックアップの選び方」Climbどこでもセミナー「物理・仮想・クラウド保護の最適解は?環境に合わせたバックアップの選び方」
Climbどこでもセミナー「物理・仮想・クラウド保護の最適解は?環境に合わせたバックアップの選び方」
 
クラウドを活用したシステム開発における、ネットワークのInfrastructure as Code
クラウドを活用したシステム開発における、ネットワークのInfrastructure as Codeクラウドを活用したシステム開発における、ネットワークのInfrastructure as Code
クラウドを活用したシステム開発における、ネットワークのInfrastructure as Code
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視
 
20161129_npstudy_JunosAutomation
20161129_npstudy_JunosAutomation20161129_npstudy_JunosAutomation
20161129_npstudy_JunosAutomation
 
Elastic StackでWebサーバのログ解析を始めた件について
Elastic StackでWebサーバのログ解析を始めた件についてElastic StackでWebサーバのログ解析を始めた件について
Elastic StackでWebサーバのログ解析を始めた件について
 
パブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよパブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよ
 
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
INF-018_OS の中で SDN 抗争勃発!? ~主役を争う VXLAN vs NVGRE~
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
V sphere 7 update 3 へのアップグレードについて
V sphere 7 update 3 へのアップグレードについてV sphere 7 update 3 へのアップグレードについて
V sphere 7 update 3 へのアップグレードについて
 

Ähnlich wie WebSocket of WebLogic (9)

Keycloak で SSO #渋谷java
Keycloak で SSO #渋谷javaKeycloak で SSO #渋谷java
Keycloak で SSO #渋谷java
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
SL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×SilverlightではまったことSL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×Silverlightではまったこと
 
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
 
Quarkus入門
Quarkus入門Quarkus入門
Quarkus入門
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
 
WebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 JavaWebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 Java
 
簡単!自動バックアップ設定でWordPressを安心運用
簡単!自動バックアップ設定でWordPressを安心運用簡単!自動バックアップ設定でWordPressを安心運用
簡単!自動バックアップ設定でWordPressを安心運用
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 

Mehr von Takahiro YAMADA

Mehr von Takahiro YAMADA (9)

これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
 
Tools for Metaspace
Tools for MetaspaceTools for Metaspace
Tools for Metaspace
 
Native Memory Tracking
Native Memory TrackingNative Memory Tracking
Native Memory Tracking
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
 

WebSocket of WebLogic