3

こんにちは私はGigaSpacesXAPを使用しています。これは、基本的にSpringとApplicationContextを使用して、初期化や構成などをすべて実行します。Webアプリケーションのロード中のある時点で、「キャッシュ」またはスペースプロキシと呼ばれるものがインスタンス化されます。 ServletContextを介して利用可能になります。このスペースプロキシは、クラスター化されたキャッシュとの間での書き込みと読み取りを可能にするものです。

したがって、最初に行ったことは、各RESTメソッドのスペースを取得することでした。それで...

@GET
public String myMethod()
{
space = (GigaSpace)context.getAttribute("mySpace");
space.write(new HelloWorld());
space.read(....);
etc...
return "Hello World!";
}

スペース自体はスレッドセーフであるため、GigaSpacesの担当者から、「アプリケーション」の初期化時にスペースを一度ルックアップするように指示されました。これにより、スペースのルックアップを節約できます。

だから私は自分がした場所を調べまし@PostConstructた...

@PostConstruct
public void init()
{
space = (GigaSpace)context.getAttribute("mySpace");
}

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

サーブレットコンテナがJetty7.1.4であり、標準のWARを使用してデプロイするのに役立つ場合。

4

1 に答える 1

0

しかし、もちろん!System.out.println("あなたの友達です!")

はい、@Scope("request") を @Scope("singleton") に変更すると、ジャージーの「Bean」がリクエストごとではなく一度インスタンス化されるためです。

于 2010-11-23T21:17:04.187 に答える