Details
Description
There's an issue when setting up a MDB to subscribe to a JMS topic, in that it'll use the bean name as the client ID. If you have 2 TomEE servers subscribing to the same Topic with the same client ID, one will be rejected with a duplicate client exception.
This can be overridden by setting
openejb.activemq.deploymentId-as-clientId = false
which will use a unique ID for the client as opposed to the bean name, but this loses the contextual information as to what MDB is connecting to the topic, which may be useful.
It would be useful to be able to configure, via Activation properties, the Client ID, and allow the following values to be substituted in:
- {appId}
- {ejbJarId}
- {ejbName}
- {hostName}
- {uniqueId}
So, setting mdb.activation.clientId to "{ejbName}-{uniqueId}" would use the bean name and a unique identifier concatenated together as the client ID.