1

私は Apache Tomcat を使用して Java EE で Web サービスを開発しています。これまでのところ、いくつかの基本的なサーバー側メソッドとテスト クライアントを作成しました。メソッドを正常に呼び出して結果を取得できますが、メソッドを呼び出すたびにサーバー コンストラクターが再度呼び出され、set メソッドを使用してサーバーのインスタンス変数を変更することもできません。JAX-WS または EJB @Stateful タグを使用せずにサーバーをステートフルにする特定の方法はありますか?

4

1 に答える 1

4

ここは少し誤解があります。ステートフル EJB は 1 つのクライアントとサーバーの間でセッションを維持するため、EJB の状態はさまざまなクライアント間で共有されません。

ステートレス EJB とシングルトン EJB のみを JAX-WS Web サービスとして公開できます。

最良のオプションは、データベースを使用してすべての入札を保存し、オークションが終了したら落札者を選択することです。

ファイルを使用したい場合は、次のような問題で遊ぶのが好きであれば問題ありません。

  1. 多くのクライアントからそのファイルへのアクセスを同期する
  2. トランザクションの読み取りと書き込みの処理
  3. ファイル破損の問題を解決する
  4. 十分に不運な場合に発生する可能性のあるその他の問題の束

大変な作業のように聞こえますが、これは、正常なデータベース エンジンで実行できます。

于 2012-05-19T22:05:55.700 に答える