Processingが出てたのを思い出したので触ってみた。ArunさんのブログにあるようにJSONとObject間のデータバインディングまではやってくれない。JSR.)想定用途(?)を探して見つけたブログによるとStaxでDom操作する感覚で使えるよとのこと。->JCPにしっかり書いてあった。}}Eventの種類はSTART_OBJECT/END_OBJECT、START_ARRAY/END_ARRAY、KEY_NAME、VALUE_STRING、VALUE_NUMBER、VALUE_TRUE、VALUE_FALSE、VALUE_NULL。APIモジラのサンプルページモジラのリファレンス変化も多そうなので他に手をつけてから。wpepeaWebSocketを使ってみる。その4コメントを残す続けて@PathParamを試してみる。APIによるとServerEndpointに{パラメータ}で指定した値とバインドしてくれるらしい。変数として使える型はStringかプリミティブOrそのボクシング型とのこと。パラメータがデコードできなかったらエラーハンドラーを呼び出すらしい。日本語もそのままうまくバインドされた。ためしにIntegerの部分を少数にしたらNumberFormatExceptionをチェーンしたDecodeExceptionが発生。このケースは切り分け難しくない。""最後の文字列が空文字だと空文字としてバインドされる。fuga[]/{空文字}/{数字}の順でも動いた。fuga[]{変数名}と@PathParamで誤記をするとバインドされない(null)。fuga[null]URLパラーンの違いによっては呼び出されない。356)を使ってみる。その3コメントを残すこれまでに引き続きWebSocketを試してみる。APIをみるとgetOpenSessions()というメソッドがあり、そのセッションに紐付くセッションが取れるとのこと。OnMessageアノテーションの説明によるとPOJOのメソッド引数にSessionをオプショナルな引数として渡せるとのこと。下のように引数にセッションを追加してやって、そのセッションからgetOpenSessionsを呼んでやれば対向のエンドポイントにメッセージを送れた。勘違いしていたことによるよくない名前。sessionOfCurrentReqみたいなもの。対向のエンドポイントが閉じられた場合(こちらのOnCloseが終わったら?)そのエンドポイントはないものと扱われている。message[いいい]ただこのやり方だとsessionOfSvEndPoint.getOpenSessions()してからfor文が回っている間にコネクションが閉じられるとコネクションクローズ済みエラーが飛んでしまう。前の書き方のほうがいいのかな。OnErrorの引数で入ってくるのは実際に例外の原因となったものでなくてOnmessageを呼んだSessionの模様。356)を使ってみる。その21件のフィードバック先日に続きOracleのサイトをみながらぼちぼち試していきます。peer.戻り値付のメソッドの場合、その値をpeerに返すというような事が書いてあるので試してみる。message;}実際にメッセージを送ったブラウザには戻り値が帰ってきたことを確認できた。開いていた他のブラウザには送信されていない。peerと書いているだけなので複数に返すのでなく単独のものに返すという動作という認識であっているのかな??疑問は残るけど、複数ブラウザ(peer)に返すサンプルがあるgetAsyncRemote、getBasicRemote()を試してみる。APIによると非同期か同期かの違いらしい。@OnMessageのgetAsyncRemote/getBasicRemoteソースを書き換えてみたけれども、getAsyncRemoteとgetBasicRemoteの両方とも同時にalert(“Calling”);まで進む。RemoteEndpoint.Basicをみると下のように書かれているのでのでJSのAlert文で待ちが入るというわけではないらしい。connection送信失敗に備えたエラー処理をするためのもので、Endpoint間の同期をとる目的でないということでよいのかな。wpepeaeclipse上でのglassfish4をDebugするための追加手順2件の返信EclipseでGlassfish4をDebugしようとすると、69%起動とでてそこで固まってしまう事象が発生。(というか、Debugをしたら毎回だった。Eclipse”のバグとのこと。(7/11追記)改めてバグ情報を見直すと下のようにあるのでGlassFishの3系でも発生していた模様。4.(7/11追記終了)(8/4追記)eclipseのサーバ追加時に設定したglassfish用のID/Passwordと、glassfishに実際に設定してあるID/Passwordが違う場合も発生した。4.0のデフォルトは”admin/無”っぽい)(8/4追記終了)Fix版でていてUpdateManager経由でインストールできるとのことなので早速インストール。http://download.java.net/glassfish/eclipse/junoインストール後Eclipse再起動し、Eclipse上でのサーバ(サーバビューに出るやつ)も再度作り直した。完全に死にきっていないものがあったのかPortがふさがっている旨のメッセージが出たのでPCごと再起動したところ、無事にデバッグできるようになった。DebugできなかったときEclipseのlogに出ていたスタックトレースは以下のはず。(退避していなかったけど時間的におそらく。356)を使ってみる。その1(まずは軽く触れてみる)1件のフィードバックEclipseからGlassfishを使う環境は何とかできたっぽいのでWebSocketを使ってみる。前の情報からアノテーションがダイナミックに変わっているので注意。@ServerEndpointとかとか(リンク)こちらのブログを参考にまずはほぼコピペして動作確認。キャプチャを簡単にできるかと軽く見てみたけどIE10の開発ツールは特に表示されない模様。FFのTamperData(プラグイン)では、Connectionがupgradeされていることまでは確認できたけど、upgrade後の動作は見れない模様。コネクションクローズ等も拾えなかった。UpgradePragma=no-cacheCache-Control=no-cacheUpgrade=websocketChromeのデベロッパーツールでも同様に、Upgradeまでしか拾えない模様。Wiresharkだとキャプチャできるとのことなので後ほど使ってみる。ちなみに下のようにアノテーションを削った場合は404と素直なエラーがでてくれた。wpepeaJavaEE7(GlassFish4.0)のEclipse4.3(Kepler)におけるMaven(M2E)連携1件のフィードバックEclipse4.3でMavenプロジェクトを作成しようとしたら手間だったので手順の記録。WTP)をマーケットプレースからインストール。ヘルプ->Eclipseマーケットプレース->検索で「m2e-wtp」にてインストールを実行。Kepler”となっている。Oneだとアップデートでいいかどうかを聞かれるがとりあえず次へ次へとそのままインストール新規->MavanプロジェクトからMavanプロジェクトを作成しようとしたところ、アーキタイプにwebapp-javaee7が無い。(Eclipse4.2ではこれででてきた記憶がある。)理由があって外されたか、間にあっていないだけかは不明。取り急ぎ、Mavenのリモートカタログを追加して凌ぐことにする。ウィンドウ->設定->Maven->アーキタイプ->リモートカタログの追加からhttp://repo1.maven.org/maven2/archetype-catalog.xmlをリモートカタログとして追加。Eclipse再起動後(?)にwebapp-javaee7が選べるようになっているので指定しMavenプロジェクトとして作成。以下m2eのライフサイクルのエラーが出るのでクイックフィックスから修正。validate)(lifecycle-mapping-metadata.xmlをきちんと書いたほうがいいのかもしれないけどリンク先がわからなくなった。一応中国語参考のリンク)途中で対象を聞かれるのでとりあえずデフォルト修正がすんだらプロジェクトをAlt+F5でMavenビルドしてサーバに追加したらOK。wpepeaリンクGlassFish4まだろくに触っていないけど、Eclipse4.3(Kepler)がリリースされたので連携してみる。Oracleのサイトを見ると、OEPEのUpdateManagerのリモートロケーションはまだ対応していないみたい。アーカイブからのupdateは対応済みなのでいったん、Zipをダウンロード。ヘルプ->新規ソフトウェアのインストール->使用可能なソフトウェアサイト->追加から先ほどのZipを指定。追加したソフトウェアサイトからGlassFishツールをインストール。(ついでにドキュメントも)そのまま次へ次へ同意とぽちぽち押して再起動。Juno連携)コメントを残す先日リリースされたGlassFish4をインストールしてEclipse(4.2/Juno)と連携する。GlassFish4インストールまずは、GlassFish4をダウンロード。https://glassfish.java.net/download.htmlダウンロードしたZipを任意フォルダに展開。展開されたフォルダ配下にある./glassfish4/bin/asadmin.batをダブルクリック実行。Passwordからパスワードを設定。取り急ぎGlassFishのインストールはここまで。連携用Pluginインストールupdateサイト(http://download.oracle.com/otn_software/oepe/juno)からGlassFishツールをインストール。インストール後eclipseの再起動を求められるので再起動を実行する。Eclipse上でのサーバ・プロジェクト設定(サーバ設定)ファイル->新規->その他->サーバー->サーバーを選択。管理者のIDとパスワードを指定(プロジェクト設定)ファイル->新規->動的WebProjectを選択。疎通確認用に作成したプロジェクトのWebContent配下にindex.htmlを作成。サーバタグから、GlassFishに作成したプロジェクトを追加。サーバタグのGlassFishに関するステータスが「始動済み、同期済み」となっていることを確認しプロジェクトのトップページ(http://localhost:8080/プロジェクト名/)にアクセス。案件募集中です店が開店休業状態なので、店番をしながらできるシステムの仕事を募集中です。@YoshitakeKitamuもしくは店へのご連絡お待ちしています。