Skip to end of metadata
Go to start of metadata

OpenDJ 3.0 Embedded

OpenAM embeds OpenDJ as part of its distribution. This allows OpenAM under its default configuration to be installed without any external service dependencies other than the container it is deployed within. In the embedded case OpenDJ is acting as:

  • User Store
  • Configuration Store
  • Data Store


The process of embedding OpenDJ has been completely automated in OpenAM 13.

This guide will detail the steps that are taken by the build process, and pointers to where a developer should look if they wish to upgrade the version of OpenDJ that is embedded within OpenAM.

  1. Download: openam-server-only/pom.xml:war-pre-packaging The OpenDJ release is downloaded as per the opendj.server.legacy version that is defined.

  2. Run Ant Script: openam-server-only/openam-server-prepare-war.xml This script will unpackage the downloaded zip to a temp location (in /target for automatic cleanup), then update config.ldif and an upgrade template before finally repackaging to with an exclusion list.

  3. Copy: openam-server-only/openam-server-prepare-war.xml The repackaged archive to its final location within the OpenAM war, /WEB-INF/template/



The only configuration point for deciding which version of OpenDJ is included in OpenAM is the version property. This defines the release of OpenDJ that is downloaded and packaged into the OpenAM distributable.

OpenAM pom.xml:

If the version is updated, it would be recommend to complete the following tasks:

  • Examine the contents of the released archive and verify that the exclusion list is still valid.
  • Deploy OpenAM with the updated OpenDJ embedded and perform some basic functional testing. In particular Upgrade of OpenAM from one version of embedded to the latest.
  • Basic performance testing around auths per second from previous to latest.
  • No labels