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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

WebSocket of WebLogic

  • 957 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
957
On SlideShare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
15
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. WebLogicのWebSocket Takahiro YAMADA @yamadamn 2013/8/19
  • 2. WebLogic Server (WLS) 12.1.2 • Java EE 6対応 • リリース: 2013/7/11 • 商用APサーバーとして、WebSocketに早い段階で対応
  • 3. ある夜明けのこと エヴァンジェリストに絡んでる人を発見... ※プライバシー保護のため一部加工しています
  • 4. 何が起こったのか? • その前日のこと
  • 5. マニュアルを見てみると • http://docs.oracle.com/middleware/1212/wls/WLPRG/websockets_sse.htm 確かに独自実装
  • 6. WLS 12.1.2のリリースは、2013/7/11なので タイミング的に間に合わなかったっぽい JSR 356
  • 7. エヴァンジェリストからの援護射撃
  • 8. ヒゲメン登場 実はこの方、昔のBEAシステムズでWLSサポート担当
  • 9. 実装イメージ 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の継承)
  • 10. (参考) 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); } }
  • 11. まとめ • 手早く手厚くWebSocketのサポートを受けたい方 • WebLogic Server 12.1.2 • サポートは弊社の利用をご検討ください m(_ _)m • 標準準拠でなければ使いたくない方 • GlassFish 4.0 • WebLogic Server 12.1.3 (おそらくJSR 356に準拠) • 謝辞 • てらだよしお愛してる • ヒゲメンまじイケメン • ネタに使った@btn*****さん、ごめんなさい
  • 12. ご清聴いただき、ありがとうございました