Solutions

DS/OpenDJ (All versions) fail to start after upgrade if you use the Password Sync Plugin for IDM/OpenIDM

Last updated May 31, 2019

The purpose of this article is to provide assistance if DS/OpenDJ fails to start after upgrading to a later version. This issue occurs when you use the Password Sync Plugin for IDM/OpenIDM. You will see one of the following exceptions: "java.lang.ClassNotFoundException: org.forgerock.opendj.config.DNPropertyDefinition" or "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler".


Symptoms

One of the following errors are shown when the server fails to start: 

  • Exception in thread "main" java.lang.NoClassDefFoundError: org.forgerock.opendj.config.DNPropertyDefinition
    Exception in thread "main" java.lang.NoClassDefFoundError: org/forgerock/opendj/config/DNPropertyDefinition
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:348)
       at org.forgerock.opendj.config.ConfigurationFramework.loadDefinitionClasses(ConfigurationFramework.java:640)
       at org.forgerock.opendj.config.ConfigurationFramework.initializeExtension(ConfigurationFramework.java:583)
       at org.forgerock.opendj.config.ConfigurationFramework.addExtension(ConfigurationFramework.java:471)
       at org.forgerock.opendj.config.ConfigurationFramework.initializeAllExtensions(ConfigurationFramework.java:524)
       at org.forgerock.opendj.config.ConfigurationFramework.initialize0(ConfigurationFramework.java:492)
       at org.forgerock.opendj.config.ConfigurationFramework.initialize(ConfigurationFramework.java:404)
       at org.forgerock.opendj.config.ConfigurationFramework.initialize(ConfigurationFramework.java:372)
       at org.opends.server.config.ConfigurationHandler.bootstrapConfiguration(ConfigurationHandler.java:183)
       at org.opends.server.core.DirectoryServer.initializeConfiguration(DirectoryServer.java:1144)
       at org.opends.server.core.DirectoryServer.main(DirectoryServer.java:4066)
    Caused by: java.lang.ClassNotFoundException: org.forgerock.opendj.config.DNPropertyDefinition
       at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    	... 12 more
    [] category=CORE severity=NOTICE msgID=139 msg=The Directory Server has sent an alert notification generated by class org.opends.server.core.DirectoryServer (alert type org.opends.server.DirectoryServerShutdown, alert ID org.opends.messages.core-141): The Directory Server has started the shutdown process. The shutdown was initiated by an instance of class org.opends.server.core.DirectoryServerShutdownHook and the reason provided for the shutdown was The Directory Server shutdown hook detected that the JVM is shutting down. This generally indicates that JVM received an external request to stop (e.g., through a kill signal)
    [] category=CORE severity=NOTICE msgID=203 msg=The Directory Server is now stopped
    
  • "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler:
    category=CORE severity=NOTICE msgID=139 msg=The Directory Server has sent an alert notification generated by class org.opends.server.core.DirectoryServer (alert type org.opends.server.DirectoryServerShutdown, alert ID org.opends.messages.core-141): The Directory Server has started the shutdown process. The shutdown was initiated by an instance of class org.opends.server.core.DirectoryServer and the reason provided for the shutdown was An error occurred while trying to start the Directory Server: ConfigException: An error occurred while trying to decode the managed object configuration entry cn=config: The following constraint violation occurred: A configuration exception occurred while evaluating a constraint: An error occurred while trying to decode the managed object configuration entry cn=Default Password Policy,cn=Password Policies,cn=config: The following constraint violation occurred: A configuration exception occurred while evaluating a constraint: An error occurred while trying to decode the managed object configuration entry cn=OpenIDM Notification Handler,cn=Account Status Notification Handlers,cn=config: The Account Status Notification Handler could not be decoded due to the following reason: The value "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler (ConfigExceptionFactory.java:85 ServerManagementContext.java:356 ServerManagedObject.java:483 RootCfgDefn.java:1952 CoreConfigManager.java:156 DirectoryServer.java:1247 DirectoryServer.java:4210)
    
  • "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler:
    category=CORE severity=NOTICE msgID=139 msg=The Directory Server has sent an alert notification generated by class org.opends.server.core.DirectoryServer (alert type org.opends.server.DirectoryServerShutdown, alert ID org.opends.messages.core-141): The Directory Server has started the shutdown process. The shutdown was initiated by an instance of class org.opends.server.core.DirectoryServer and the reason provided for the shutdown was An error occurred while trying to start the Directory Server: InitializationException: An error occurred while trying to initialize an instance of class org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler as an account status notification handler as defined in configuration entry cn=OpenIDM Notification Handler,cn=Account Status Notification Handlers,cn=config: PropertyException: The value "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler (PropertyException.java:78 ClassPropertyDefinition.java:226 ClassPropertyDefinition.java:211 ClassPropertyDefinition.java:172 AccountStatusNotificationHandlerConfigManager.java:347 AccountStatusNotificationHandlerConfigManager.java:309 AccountStatusNotificationHandlerConfigManager.java:110 DirectoryServer.java:2074 DirectoryServer.java:1561 DirectoryServer.java:6265) (AccountStatusNotificationHandlerConfigManager.java:375 AccountStatusNotificationHandlerConfigManager.java:309 AccountStatusNotificationHandlerConfigManager.java:110 DirectoryServer.java:2074 DirectoryServer.java:1561 DirectoryServer.java:6265) 
    

Recent Changes

Upgraded to a later version of DS/OpenDJ.

Causes

The Password Synchronization Plugin used with the previous version of DS/OpenDJ is not compatible with later versions. You must upgrade the Password Sync Plugin after upgrading DS/OpenDJ.

Solution

This issue can be resolved by rolling back the upgrade and then upgrading DS/OpenDJ as detailed in How do I upgrade DS/OpenDJ (All versions) if I have the DS/OpenDJ Password Sync Plugin for IDM/OpenIDM installed?

See Also

OpenDJ Password Synchronization Plugin 1.0.3 install fails on OpenDJ 3.x

How do I troubleshoot the DS/OpenDJ Password Synchronization plugin in IDM/OpenIDM (All versions)?

Passwords in DS/OpenDJ

Release Notes › Supported Connectors

Related Training

N/A

Related Issue Tracker IDs

N/A



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