Configuring the application.properties File

This section outlines the required and optional configuration properties for the Resolution Service, defined in the application.properties file.

The application.properties file is located at:

<dxi_install_path>\services\resolution\resolution-9.0-SNAPSHOT\resolution-9.0-SNAPSHOT\

1. Mandatory Properties

LDAP Configuration

The following LDAP properties must be configured:

  • ldap.host

  • ldap.port

  • ldap.ssl

  • ldap.user

  • ldap.domain

  • ldap.clientSSL

Password Configuration

You must configure one of the following:

  • ldap.password OR

  • pwd.passwordFile along with pwd.passwordPropertyKey

If both ldap.password and pwd.passwordFile are configured, ldap.password takes precedence.

Optional LDAP Properties

  • ldap.keyStore

  • ldap.keyStorePassword

  • ldap.trustStore

  • ldap.trustStorePassword

  • session.configUpdateFrequency – update frequency (in minutes) of SvcSession master configuration (e.g., object descriptions)

server port configuration

  • server.port(default set to 9443) If server.port=9443 is already occupied, you’ll need to choose a different available port and update your application’s configuration accordingly. Here’s how you can detect and set a new server port : Handling Port Conflicts.

2. JMS Broker Configuration

If config.use.ldap=true, the JMS broker URL is retrieved from LDAP. In this case, setting spring.activemq.broker-url is not required.

To override and configure the broker URL directly:

  • Set config.use.ldap=false

  • Set the broker URL:

spring.activemq.broker-url=tcp://localhost:61616

3. Number of Message Listeners

Listener configuration logic:

  • If jms.nrListeners is set in application.properties, it takes precedence.

  • If not set, the number of listeners is loaded from LDAP (see the domain entry, tab 'PrivilegeResolution' in Identity Manager, or LDAP attribute dxrOptions, e.g., resolutionadapter_nrlisteners 2)

  • If not configured in either source, the default value of 2 is used.

4. Management and Monitoring Configuration

I. Health Endpoint Exposure

Configure health and monitoring endpoints for observability:

management.server.port=8081
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
management.endpoint.health.probes.enabled=true
management.endpoints.web.base-path=/resolution-service
management.endpoints.web.path-mapping.health=healthcheck

If port 8081 is already in use, you can select an available port by updating the application’s configuration. This ensures the service can start successfully without port conflicts. Here’s how you can detect and set a new server port : Handling Port Conflicts

II. JMS Metrics and Prometheus Integration

Enable metrics for JMS and Prometheus:

management.metrics.enable-jms=true

# Enable Prometheus metrics export (uncomment to activate)
# management.metrics.export.prometheus.enabled=true

III. Application Information

Expose custom metadata via the /info endpoint:

info.app.name=DirX Identity Resolution Service
info.app.description=DirX Identity Resolution Service as a Windows service
info.app.version=1.0.0
management.info.env.enabled=true