ポート 80 の IIS Web サーバーでフロントエンドを実行しています。これは、angular.js フレームワークを使用して HTML5 で記述されています。
ポート 8084 の GlassFish アプリケーション サーバーで RESTful バックエンドを実行しています。Jersey JAX-RS 実装を使用して記述されています。
バックエンドは、Singleton クラスのコンストラクターで作成された Neo4J データベースを使用します。したがって、そのクラスのインスタンスが存在しない場合、データベースが作成されます。インスタンスが存在する場合は、属性として格納された同じ GraphDatabaseService を使用します。これは、Lock Store エラーを防ぐために行います。クラスがシングルトンでない場合、同じデータベース パスに新しい GraphDatabaseService を作成しようとするたびに、一度に 1 つしか作成できません。
しかし、私のアプリケーションのニーズは変わりました。ログインが必要で、すべてのユーザーが独自のデータベースを取得します。ユーザー名はデータベース パスで使用され、(現在もまだ) シングルトン クラスに渡される必要があります。
すべてのユーザーが独自のデータベースを取得し、ユーザーが行うすべての RESTcall がそのデータベースで実行されるように、セットアップを変更するにはどうすればよいですか。ユーザーは同時に Web アプリケーションを使用できる必要があります。