タグ

javaとJAX-RSに関するs-ishigamiのブックマーク (4)

  • JAX-RS Jerseyを超強引に拡張してみる - TYAGE EMOTION

    SAStrutsがActionにトランザクションをかけていたことからヒントを得て、JAX-RS実装のJerseyを拡張して、Resourceクラスの実行時に直接トランザクションをかけるようにしてみたら面白いんじゃないかと思いました。そうすれば、コンテナ管理のトランザクションスコープEntityManagerが簡単に使えるようになるので、JPAのEntityを簡単にURLに紐づけることができます。 JerseyのServletを拡張してEntityManagerをDIできるようにし、Resourceが呼ばれる単位でトランザクションが自動でかかるように拡張してみました。やりかたが超強引なので、参考にもならないレベルですが・・・ まずはServletクラスの拡張から package mapsample.rest.container.servlet; import java.lang.reflec

    JAX-RS Jerseyを超強引に拡張してみる - TYAGE EMOTION
    s-ishigami
    s-ishigami 2011/09/12
    あとで参考にする
  • JAX-RS Jerseyをもうちょっと真面目に拡張してみる - TYAGE EMOTION

    前回(id:da-yoshi:20080429:1209403828)のJersey拡張はあまりにも強引過ぎてお試し以外には使えそうも無いので、もうちょっと真面目にJerseyのAPIを調べてみました。 JAX-RS仕様に基づくResourceクラスのインスタンス化を受け持つインターフェイスとして、Jerseyにはcom.sun.ws.rest.spi.resource.ResourceProviderが定義されています。何の指定もしなければ、このインターフェイスの実装であるPerRequestProviderが使用されます。 com.sun.ws.rest.spi.resource.ResourceFactoryアノテーションをResoureceクラスに定義すれば、独自のResourceProviderを定義できます。でもいちいちクラス毎に設定するのは面倒なので、デフォルトの設定をJer

    JAX-RS Jerseyをもうちょっと真面目に拡張してみる - TYAGE EMOTION
    s-ishigami
    s-ishigami 2011/09/12
    あとで参考にするかもしれない
  • JAX-RSはセッションを自動で開始しない - しんさんの出張所 はてなブログ編

    どうやらJAX-RSで普通にアクセスするとセッションを新規に開始しないようだ。もちろん、すでに開始中の場合はセッションの保持時間を延長してくれる。ブラウザからのアクセスの場合まずどこかでhtmlを表示しているのでその後AJAX等でアクセスしてもセッションが引き継がれるので問題にはなりにくいのだが、Swing等単体のアプリだとそうはいかない。 もちろん、JAX-RSで意識的にセッションを発行することは出来る。通常業務アプリはまず最初にログイン画面があるため、ログイン認証のリソースでセッションクッキーを取得させればよい。クッキーを取得していないか、取得していてもログインしていなければはねさせる。これは通常のアプリと同じくフィルタではねると楽だろう。 セッションのIDはどこで取得すればいいかというとHttpServletRequest をインジェクトするのが一番楽。JAX-RSは@Context

    JAX-RSはセッションを自動で開始しない - しんさんの出張所 はてなブログ編
    s-ishigami
    s-ishigami 2011/08/23
    「JAX-RSは@Contextアノテーションをつけることによってさまざまなものをインジェクトすることが出来る。」へえ、実用的っぽい
  • もっとJavaEE6っぽくcometチャットを実装する - きしだのHatena

    もっとJavaEE6っぽくやってみよう 昨日のエントリでは、AsyncContextの使いかたを試すため、サーブレットだけを使って実装してみました。 でも、すこし泥臭いコードも多くなっていたし、このまま実用的なコードにしていくときにゴテゴテとコードを継ぎ足していくというのもイヤな感じです。 そこで、もっとJavaEE6っぽいコードに書き換えてみましょう。 少し準備 今回は、JAX-RSでのRESTful Webサービスと、CDIでのインジェクションを使ってみます。 JAX-RSの準備 まずは、JAX-RSを使うための設定クラスを作成します。 package chat2; @javax.ws.rs.ApplicationPath("rs") public class ApplicationConfig extends javax.ws.rs.core.Application { } こういう

    もっとJavaEE6っぽくcometチャットを実装する - きしだのHatena
    s-ishigami
    s-ishigami 2011/04/17
    JAX-RS便利かも。
  • 1