2016-12-01 3 views
1

My KeyCloak работает с h2 дб (по умолчанию) и имеет некоторые данные в нем
я хочу, чтобы экспортировать данные таким образом, я могу перенести KeyCloak в MySQLKeyCloak 2,3 получение NPE при экспорте

KeyCloak я использую 2,3 version Я продолжаю получать NPE при попытке экспортировать данные.

команды, которые я использую для экспорта является:

Судо ./standalone.sh -Dkeycloak.migration.action = экспорт -Dkeycloak.migration.provider = SingleFile -Dkeycloak.migration.file =/TMP/export.json

StackTrace:

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

У меня есть два основных мастера и один с пользователями. Я получаю такую ​​же ошибку с -Dkeycloak.migration.realmName = . Я не думаю, что h2 поврежден, я могу видеть данные в консоли администрирования – user2952779

ответ

0

решаемые, прочитав H2 и создания сценариев SQL для создания таблиц + данные

0

Я не уверен, если это тот же вопрос, но я также получал ошибку Null указателя при попытке выполнить экспорт по умолчанию.

Проблема для меня состояла в том, что я не установил псевдоним для выполнения в потоке аутентификации. https://issues.jboss.org/browse/KEYCLOAK-2494

В принципе, для упорядочения экспортированных файлов Json и сохранения их версией keycloak для версии требуется установить псевдоним, чтобы он всегда мог выполнять последовательную сортировку.

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

Исправление для меня было установить поле псевдонима в конфигурации для выполнения с помощью консоли администратора, досадно, если вы сделали какие-либо настройки, прежде чем он не позволит вам обновить псевдоним. Вам нужно просто удалить выполнение в консоли администратора и воссоздать его.

Смежные вопросы