私は Apache Tomcat を使用して Java EE で Web サービスを開発しています。これまでのところ、いくつかの基本的なサーバー側メソッドとテスト クライアントを作成しました。メソッドを正常に呼び出して結果を取得できますが、メソッドを呼び出すたびにサーバー コンストラクターが再度呼び出され、set メソッドを使用してサーバーのインスタンス変数を変更することもできません。JAX-WS または EJB @Stateful タグを使用せずにサーバーをステートフルにする特定の方法はありますか?
質問する
783 次
1 に答える
4
ここは少し誤解があります。ステートフル EJB は 1 つのクライアントとサーバーの間でセッションを維持するため、EJB の状態はさまざまなクライアント間で共有されません。
ステートレス EJB とシングルトン EJB のみを JAX-WS Web サービスとして公開できます。
最良のオプションは、データベースを使用してすべての入札を保存し、オークションが終了したら落札者を選択することです。
ファイルを使用したい場合は、次のような問題で遊ぶのが好きであれば問題ありません。
- 多くのクライアントからそのファイルへのアクセスを同期する
- トランザクションの読み取りと書き込みの処理
- ファイル破損の問題を解決する
- 十分に不運な場合に発生する可能性のあるその他の問題の束
大変な作業のように聞こえますが、これは、正常なデータベース エンジンで実行できます。
于 2012-05-19T22:05:55.700 に答える