2016-12-01 8 views
1

マイKeyCloakはH2のデシベル(デフォルト)で動作し、その中にいくつかのデータを持っている
をエクスポートするとき、私はKeyCloak 2.3

KeyCloakをMySQLへKeyCloakを移行できるようにデータをエクスポートしたい私が使用しているNPEを取得は2.3ですバージョン データをエクスポートしようとすると、NPEが引き続き表示されます。私は、エクスポートするために使用してい

コマンドは次のとおりです。

sudoの./standalone.sh -Dkeycloak.migration.action =輸出-Dkeycloak.migration.provider = singleFile -Dkeycloak.migration.file =を/ tmp/export.json

スタックトレース:これがあれば

Caused by: java.lang.NullPointerException 
at org.keycloak.exportimport.util.ExportUtils.exportRealm(ExportUtils.java:227) 
at org.keycloak.exportimport.singlefile.SingleFileExportProvider$1.runExportImportTask(SingleFileExportProvider.java:65) 
at org.keycloak.exportimport.util.ExportImportSessionTask.run(ExportImportSessionTask.java:35) 
at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:235) 
at org.keycloak.exportimport.singlefile.SingleFileExportProvider.exportModel(SingleFileExportProvider.java:58) 
at org.keycloak.exportimport.ExportImportManager.runExport(ExportImportManager.java:102) 
at org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:148) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
at org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:150) 
... 19 more 
+0

H2データベースが壊れている可能性があります。複数のレルムが定義されていますか?あなたのユーザーがいる単一のレルムだけをエクスポートしようとした場合-Dkeycloak.migration.realmName =

+0

私は2つのレルムマスターと1つのユーザーを持っています。 -Dkeycloak.migration.realmName = と同じエラーが表示されます。私はh2が壊れているとは思っていません。私は管理コンソールでデータを見ることができます – user2952779

答えて

0

私はよく分からないH2を読み、テーブル+データを生成するためのSQLスクリプトを作成することによって、これを解決同じ問題ですが、デフォルトのエクスポートを実行しようとするとNullポインタエラーも発生していました。

私の問題は、認証フローでの実行のエイリアスを設定していないためです。

基本的に、エクスポートされたJsonファイルの順序を維持し、バージョン管理可能なキークローズでは、常に一貫性のある並べ替えができるようにエイリアスを設定する必要があります。

https://github.com/keycloak/keycloak/commit/c81d0c0898d7b44c0d053ce6666acdad4967bffc

私のための修正は、それはあなたがエイリアスを更新させません前に、任意の構成をやったうるさくている場合、管理コンソールから実行のための設定にエイリアスフィールドを設定することでした。管理コンソールで実行を削除して再作成するだけです。

関連する問題