The application fails to connect

There are several common reasons why an application might fail to connect.

Has the Eclipse Amlen server started?

If the Eclipse Amlen server is not started, applications cannot connect to Eclipse Amlen.

Check the status of the server.

If the status returned is not Running, you must start the server. For more information about checking server status and starting the server, see Starting, stopping, restarting and viewing the status of the Eclipse Amlen server.

Is the Eclipse Amlen server in maintenance mode?

If the Eclipse Amlen server is in maintenance mode, applications cannot connect to Eclipse Amlen.

Check the status of the server.

If the status returned is Maintenance, the Eclipse Amlen server is in maintenance mode. For more information about maintenance mode, and how to return the server status to running, see Maintenance mode.

Is the endpoint enabled?

Messages cannot be sent to Eclipse Amlen topics or queues if the endpoint that the application connects to is disabled.

Check the endpoint to ensure that it is enabled.

Does the endpoint allow the application to connect?

When you create an endpoint, you can restrict which protocols can be used to connect to that endpoint. If the application uses a protocol that is not allowed, the application cannot connect to that endpoint.

Check the default log for messages that indicate that the endpoint does not allow a connection of a particular type, such as message CWLNA1108. To resolve the problem, either use another endpoint that allows the protocol to connect, or change the endpoint to allow the protocol to connect. For more information about configuring endpoints, see Configuring message hubs.

If you are working in an HA environment with virtual IP addresses, do the IP addresses on both nodes match?

The order of the IP addresses that are listed in your endpoint configuration can become out of step in an HA environment. For example, you have an HA pair using virtual IP addresses with an endpoint that is configured to restrict connections to a specific IP address. If you then update the list of virtual IP addresses (for example you add an IP address), the new IP address might change the order of the IP addresses that are listed in the endpoint configuration. If you then synchronize your HA pair or if failover occurs, the IP address that is restricted on one server might not be the same as the IP address that is restricted on the other server. To avoid this problem, ensure that new virtual IP addresses are always added to the end of the list of virtual IP addresses so that the list order is not affected.

Does the connection policy allow the application to connect?

When you create a connection policy, you can restrict the application connections. You can restrict access based on IP address, client ID, messaging user ID, messaging group name, or certificate common name. You can prevent MQTT clients from connecting if they have a cleanSession=0 setting. You can also prevent MQTT clients from publishing messages with a QoS of 1 or 2. MQTT clients fail to connect if the AllowPersistentMessages connection policy parameter is set to False and they attempt to publish Will messages with a QoS of 1 or 2. If the application uses a restricted value, the application cannot connect to the endpoint associated with the connection policy.

Check the default log for messages that the connection policy does not allow the application to connect, such as CWLNA1111. To resolve the problem, either use another endpoint that allows the application to connect, or change the connection policy to allow the application to connect. For more information about configuring connection policies, see Configuring message hubs.

Does another JMS application have the same client ID?

If more than one JMS application uses the same client ID, the first application connects successfully. When another application attempts to connect with the same client ID, the connection is refused until the first application disconnects.

To resolve the problem, ensure that each JMS application has a unique client ID.

Has the messaging user group membership changed?

If you use Eclipse Amlen messaging users and groups in your connection or messaging policies, and you update the group membership of the application user, applications might disconnect and fail to reconnect.

The user and group information is cached when the application connects. If an application is connected when the group membership of the application user is modified, the cache is used until the cache timeout is reached. When the timeout is reached, the new group membership information is used. If the connection policies and messaging policies do not allow the new group membership, the application disconnects and cannot reconnect.

To resolve the problem, check the group membership of the user against the groups that are allowed in the connection and messaging policies. Add the user to the appropriate groups, or update the connection policies and messaging policies to allow the group to connect.