私たちは単純なJavaベースのアプリケーションを持っています。そこでは、クライアントからのcreateSession()リクエストを受け取ってセッションを作成します。次に、セッションで「操作」を実行し、最後にrelease()を受け取ると、セッションオブジェクトを破棄します。今私はアプリケーションのセッションタイムアウト機能を実装したいと思います。セッションが設定可能な時間アイドル状態になっている場合は、セッションを破棄します。私は特定の時間間隔の後に目を覚まし、すべてのセッションオブジェクトを反復する専用のスレッドを作成できます。各オブジェクトの "lastAccessedTimeStamp"に基づいて、適用可能な場合はrelease()を呼び出します。それ以外に何ができますか?ここで使用できる他のAPIは何ですか?Javaでセッションタイムアウトを実装する方法は?
答えて
これはどのような用途ですか? Webアプリケーションの場合、セッション処理(タイムアウトを含む)はサーブレットコンテナによって自動的に行われます。タイムアウト値はweb.xml
設定ファイルで設定されます。
これらのホイールをすべて再作成したい場合は、定期的(毎分1回)のすべてのセッションをチェックし、タイムアウトしたものを解放する別のスレッドが分かりやすい実装のように聞こえます。
これは同じコメントがここに適用されます。これはWebサーバ(apache-tomcat + apache-cxf)です。しかし、作成しているセッションはカスタムセッション(POJO)です。したがって、POJOのライフタイムは、web.xmlのsession timeoutパラメータで制御することはできません。それらを使用できるAPIの提案はありますか? –
@Arnab Biswas:そうです。サーブレットAPI。そこでは、成熟した、よくサポートされたセッションの実装があります。何らかの理由で車輪の再発明を主張すれば、あなた自身はあなた自身でありますが、それがあなたが望むものです。 –
ありがとうございます。はい、Servlet APIで定義されているセッション処理メカニズムを使用することはできません。私の質問は私のセッションがbasicay POJO、ehatのメカニズムはタイムアウトを実装するために使用することができますか? java.util.concurrentパッケージのものは何ですか? –
- 1. Javaメソッドを実装する方法は?
- 2. Javaでファイルフィルターを実装する方法
- 3. JavaでhashCode()を実装する方法
- 4. Javaでゲートウェイを実装する方法
- 5. JavaでSpringベースのアプリケーションでマルチスレッドを実装する方法は?
- 6. スイングでJavaでMVCを正しく実装する方法は?
- 7. JavaでJava IDEを実装する方法
- 8. Javaでバーコードスキャナを実装する方法は?
- 9. Javaでコンパレータを実装する方法は?
- 10. 英語の辞書をJavaで実装する方法は?
- 11. MVC Javaで自分のコードを実装する方法は?
- 12. OData Javaでページングとキャッシングを実装する方法は?
- 13. Javaでスタックとキューを実装する方法は?
- 14. Java/Swingアプリケーションで多言語を実装する方法は?
- 15. Javaで独自のUI要素を実装する方法は?
- 16. Javaで循環リンクリストを実装する方法は?
- 17. Javaで正規化マッピングを実装する方法は?
- 18. Java EEでログインを実装する方法は?
- 19. Java RMIでObserverパターンを実装する方法は?
- 20. コアJavaでグラフを実装する方法は?
- 21. Javaでグラフとグラフを実装する方法は?
- 22. Java WebサービスでSoap Faultを実装する方法は?
- 23. スレッドセーフJavaでシングルトンパターンを効率的に実装する方法は?
- 24. Java WebサービスでGoogleプッシュ通知を実装する方法は?
- 25. phpセッションタイムアウトで機能を実行する方法
- 26. iPhoneでセッションタイムアウトを実装するにはどうすればよいですか?
- 27. Javaクラスのネイティブ実装を表示する方法は?
- 28. JavaコンパイラとDEXコンバータをAndroidアプリに実装する方法は?
- 29. アラートボックスでセッションタイムアウトを作成する方法
- 30. Java Webアプリケーションで複雑なページフローを実装する方法
アプリケーションのコンテキストに関する詳細を教えてください。それはアプリケーションサーバー(JavaEE)またはスタンドアロン(JavaSE)で失われますか? – Riduidel
これはWebサーバー(apache-tomcat + apache-cxf)です。しかし、作成しているセッションはカスタムセッション(POJO)です。したがって、POJOのライフタイムは、web.xmlのsession timeoutパラメータで制御することはできません。 –