JavaSwingアプリケーション内でApacheDerbyデータベースを(ネットワークモードで)実行しています。Javaクライアントアプリケーションを介して直接JDBC呼び出しを介してデータベースに接続します。
これはすべて非常に優れており、うまく機能しますが、このクライアント/サーバーアプリケーションの同時ライセンスを実装するための追加要件があることを私は知っています。
理想的には、単一のユーザーライセンスを持つユーザーは、ラップトップで1つのクライアントアプリを実行し、デスクトップで2番目のクライアントアプリを実行し、両方からサーバーに接続できる必要があります。
私はWebサーバーの贅沢を持っていないので、私の唯一のオプションはDerbyの「maxthreads」ランタイムプロパティを使用することであり、基本的にユーザーがラップトップからログオフする必要があるかどうかを疑問に思っています。デスクトップからのアプリ。
タイムスライスプロパティを0のままにすると、getConnectionタイムアウトが呼び出され、クライアントアプリの1つを切断する必要があることを説明するメッセージをユーザーに表示できます。
接続スレッドはこれを行うための信頼できる方法ですか?
私は別の解決策を逃していますか?