Solutions

create-realm ssoadm command fails in AM 5 with Guice configuration errors

Last updated Jul 9, 2018

The purpose of this article is to provide assistance if you encounter "Exception in thread "main" com.google.inject.ConfigurationException: Guice configuration errors" when trying to create a new realm in AM 5 using the ssoadm create-realm command.


1 reader recommends this article

Symptoms

Using the create-realm ssoadm command fails with the following exception:

Exception in thread "main" com.google.inject.ConfigurationException: Guice configuration errors:

1) No implementation for org.forgerock.openam.notifications.NotificationBroker annotated with interface org.forgerock.openam.notifications.LocalOnly was bound.
  while locating org.forgerock.openam.notifications.NotificationBroker annotated with interface org.forgerock.openam.notifications.LocalOnly

1 error
   at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1004)
   at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1009)
   at org.forgerock.guice.core.InjectorHolder.getInstance(InjectorHolder.java:85)
   at com.sun.identity.idm.plugins.internal.AgentsRepo.<init>(AgentsRepo.java:183)
   at com.sun.identity.sm.OrganizationConfigManager.createSubOrganization(OrganizationConfigManager.java:344)
   at com.sun.identity.cli.realm.CreateRealm.handleRequest(CreateRealm.java:86)
   at com.sun.identity.cli.SubCommand.execute(SubCommand.java:296)
   at com.sun.identity.cli.CLIRequest.process(CLIRequest.java:217)
   at com.sun.identity.cli.CLIRequest.process(CLIRequest.java:139)
   at com.sun.identity.cli.CommandManager.serviceRequestQueue(CommandManager.java:581)
   at com.sun.identity.cli.CommandManager.<init>(CommandManager.java:178)
   at com.sun.identity.cli.CommandManager.main(CommandManager.java:155

This occurs when you use a command such as the following:

$ ./ssoadm create-realm -e /newRealm -u amadmin -f pwd.txt

The realm is partially created and can be seen in the console, but critical elements such as the data store, services and authentication modules do not exist, so the realm is not fully functional.

Recent Changes

Upgraded to, or installed AM 5.

Causes

There is a missing guice dependency; ssoadm needs its own guice mappings (dependencies) that are separate to the core server ones. In this instance, core classes were changed and new guice dependencies added, but they were not added to ssoadm as well.

Solution

This issue can be resolved by upgrading to AM 5.1 or later; you can download this from BackStage.

Workaround

A suggested workaround for this issue is to use Amster instead to automate realm creation as detailed in Entity Reference › Amster Entity Reference › Realms.

Amster was introduced in AM 5 as a new command-line interface built upon the AM REST interface. Amster will replace ssoadm in a future release.

See Also

How do I update property values in AM (All versions) using Amster?

Using Amster in AM

Entity Reference › Amster Entity Reference › Realms

Amster User Guide

Related Training

N/A

Related Issue Tracker IDs

OPENAM-11034 (OpenAM 14.0.0 (AM5) ssoadm create-realm error)



Copyright and TrademarksCopyright © 2018 ForgeRock, all rights reserved.
Loading...