WebSocket of WebLogic
Upcoming SlideShare
Loading in...5
×
 

WebSocket of WebLogic

on

  • 1,387 views

 

Statistics

Views

Total Views
1,387
Views on SlideShare
1,020
Embed Views
367

Actions

Likes
2
Downloads
13
Comments
0

4 Embeds 367

http://kikutaro777.hatenablog.com 344
https://twitter.com 17
http://cloud.feedly.com 5
http://summary 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

WebSocket of WebLogic WebSocket of WebLogic Presentation Transcript

  • 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*****さん、ごめんなさい
  • ご清聴いただき、ありがとうございました