2010-11-23 9 views
3

こんにちは私はGigaSpaces XAPを使用しています。基本的にはSpringとApplicationContextを使ってinitやconfigなどを行います。Webアプリケーションのロード中のある時点「キャッシュ」またはスペースプロキシと呼ばれるものがインスタンス化され、ServletContextを介して利用可能になります。このスペースプロキシは、クラスタ化されたキャッシュとの間で書込みおよび読取りを可能にするものです。@PostConstructメソッドは、Jerseyサービスで常に呼び出されています

私が最初にしたことは、各RESTメソッドのスペースを得ることでした。だから... ...

@GET パブリック文字列MyMethodは(){ スペース=(GigaSpace)context.getAttribute( "マイスペース")。 space.write(新しいHelloWorld()); space.read(....); など... 返信 "Hello World!"; }

スペース自体はスレッドセーフなので、GigaSpacesの人は私の「アプリケーション」のinitでスペースを一度ルックアップするように指示されたので、スペースの検索を省略できます。

だから私は私がやったところ@PostConstrustに見えた...

@PostConstruct 公共ボイドは、init(){ スペース=(GigaSpace)context.getAttribute( "マイスペース")。 }

しかし、このメソッドは私が行うすべてのリクエストで呼び出されているようです!これは、自分のリクエストごとにRESTサービスが作成されていることを意味しますか? @Scope( "request")を使用しているからですか?

サーブレットコンテナがJetty 7.1.4であり、私は標準WARを使用して展開しています。

+0

logs/consoleにアクセスできる場合は、Beanコンストラクタにプリントを投げてください –

答えて

0

もちろんです!

これは@Scope( "request")が@Scope( "singleton")に変更されたために、ジャージー "bean"が1回インスタンス化されるリクエストごとに。

関連する問題