websocket of weblogic

12
WebLogicWebSocket Takahiro YAMADA @yamadamn 2013/8/19

Upload: takahiro-yamada

Post on 15-Jun-2015

1.164 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: WebSocket of WebLogic

WebLogicのWebSocket

Takahiro YAMADA@yamadamn

2013/8/19

Page 2: WebSocket of WebLogic

WebLogic Server (WLS) 12.1.2

• Java EE 6対応

•リリース: 2013/7/11

•商用APサーバーとして、WebSocketに早い段階で対応

Page 3: WebSocket of WebLogic

ある夜明けのこと

エヴァンジェリストに絡んでる人を発見...

※プライバシー保護のため一部加工しています

Page 4: WebSocket of WebLogic

何が起こったのか?

•その前日のこと

Page 5: WebSocket of WebLogic

マニュアルを見てみると

• http://docs.oracle.com/middleware/1212/wls/WLPRG/websockets_sse.htm

確かに独自実装

Page 6: WebSocket of WebLogic

WLS 12.1.2のリリースは、2013/7/11なのでタイミング的に間に合わなかったっぽい

JSR 356

Page 7: WebSocket of WebLogic

エヴァンジェリストからの援護射撃

Page 8: WebSocket of WebLogic

ヒゲメン登場

実はこの方、昔のBEAシステムズでWLSサポート担当

Page 9: WebSocket of WebLogic

実装イメージ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の継承)

Page 10: WebSocket of WebLogic

(参考) 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); }}

Page 11: WebSocket of WebLogic

まとめ

•手早く手厚くWebSocketのサポートを受けたい方

• WebLogic Server 12.1.2• サポートは弊社の利用をご検討ください m(_ _)m

•標準準拠でなければ使いたくない方

• GlassFish 4.0• WebLogic Server 12.1.3 (おそらくJSR 356に準拠)

•謝辞

• てらだよしお愛してる

• ヒゲメンまじイケメン

• ネタに使った@btn*****さん、ごめんなさい

Page 12: WebSocket of WebLogic

ご清聴いただき、ありがとうございました