この要件では、レルムを渡してorg.wso2.carbon.user.core.util.DatabaseUtilクラスを使用してデータソースを作成しようとしましたが、データソースを検索する際にエラーが発生しました。 サーバの起動時に、org.wso2.carbon.user.core.internal.Activator - > startDeploy(BundleContext bundleContext)が呼び出され、realmconfigurationおよびdatasourceオブジェクトが正常に初期化される新しいRealmServiceインスタンスが作成されることがわかります。 Activatorクラスでは、初期化されたrealmserviceインスタンスはUserCoreUtilクラス(UserCoreUtil.setRealmService(realmService))に設定されています。 RealmServiceの初期化によってDefaultRealmServiceが呼び出され、データソースインスタンスが初期化され、そのオブジェクトがプロパティに追加されます。WSO2の既存のデータベースにアプリケーション固有のテーブルを作成
以下のユーザまたはテナント関連のDB操作では、CarbonContext.getThreadLocalCarbonContext()。getUserRealm()メソッドが呼び出され、サーバの起動時にDefaultRealmServiceによって格納されたプロパティのデータソースが実際に使用され、 userStoreManagerインスタンスを作成し、すべてのユーザー関連操作が実行されるuserRealmを返します。
アプリケーション固有のテーブルにアクセスするために、独自のJDBCCustomManagerクラスを作成してJDBC操作を実行しようとしました。 "DatabaseUtil.getRealmDataSource(objRealmService.getBootstrapRealmConfiguration())"を実行すると、DB操作を実行するためにデータソースが必要ですが、常に「データソースを検索する際のエラー:jdbc/WSO2CarbonDB」という例外が発生します。
JDBCUserStoreManager内のテーブルにアクセスするためのメソッドを記述していますが、これは適切な方法ではありません。 WSO2のデータソースオブジェクトを取得してアプリケーションで使用できる他の方法があることをお勧めしますか?