[Java] WebSocket Samples in GlassFish 4 build 66 - javax.websocket.* package: TOTD #190

原文はこちら。
https://blogs.oracle.com/arungupta/entry/websocket_samples_in_glassfish_4

このブログでは、GlassFish 4 promoted buildsに統合されているJSR 356の参照実装(Tyrus)を使っていくつかエントリを投稿してきました。
GlassFish 4 promoted builds
http://download.java.net/glassfish/4.0/promoted
  • TOTD #183: Getting Started with WebSocket in GlassFish
  • TOTD #184: Logging WebSocket Frames using Chrome Developer Tools, Net-internals and Wireshark
  • TOTD #185: Processing Text and Binary (Blob, ArrayBuffer, ArrayBufferView) Payload in WebSocket
  • TOTD #186: Custom Text and Binary Payloads using WebSocket
  • TOTD #189: Collaborative Whiteboard using WebSocket in GlassFish 4
以前のエントリでは以下のようにWebSocketのエンドポイントを作成しました。
import javax.net.websocket.annotations.WebSocketEndpoint;

@WebSocketEndpoint("websocket")
public class MyEndpoint {
 . . .
JSR 356専門家グループの議論の結果、パッケージ名がjavax.websocket.*.に変更されました。
[jsr356-users] [jsr356-experts] Re: Package naming and arrangement
http://java.net/projects/websocket-spec/lists/users/archive/2012-12/message/34
そのため、アップデートされたエンドポイント定義は以下のようになります。
import javax.websocket.WebSocketEndpoint;

@WebSocketEndpoint("websocket")
public class MyEndpoint {
 . . .
POMファイルは以下のようになります。
<dependency>
 <groupId>javax.websocket</groupId>
 <artifactId>javax.websocket-api</artifactId>
 <version>1.0-b09</version> 
</dependency>
GlassFish 4 build 66を利用している場合は、次のようなダミーのEndpointFactory実装を用意する必要もあります。
import javax.websocket.WebSocketEndpoint;

@WebSocketEndpoint(value="websocket", factory=MyEndpoint.DummyEndpointFactory.class)
public class MyEndpoint {
. . .   

class DummyEndpointFactory implements EndpointFactory {
    @Override
 public Object createEndpoint() { return null; }
  }
}
GlassFish 4 build 66
http://dlc.sun.com.edgesuite.net/glassfish/4.0/promoted/glassfish-4.0-b66.zip
これは過渡的なものに過ぎず、以後のビルドでは不要になりますが、このやり方に関して不平があがっていることを見てきたので、この短いエントリがお役に立つのではないか、と思っています。
GlassFish 4 promoted buildで最新のJava EE 7実装を追いかけてらっしゃいますか?

0 件のコメント:

コメントを投稿