[
https://issues.apache.org/jira/browse/TOMEE-2678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan S Fisher updated TOMEE-2678:
-------------------------------------
Description:
Given:
* You have a MDB listening on a Topic
* You deploy the same WAR/EAR on multiple TomEE instances
Problem:
* Only one of the messageListeners will receive the message
Expected:
* All instances listening on the topic should get a copy of the message
Cause:
* TomEE by default uses the DeploymentId as the clientId. This will not be
unique by default. The JMS Spec says listeners on topics need unique names.
Workarounds:
#1: openejb.activemq.deploymentId-as-clientId is true by default. Setting this
to false might allow activeMq to assign the client id, which will be
unintelligible but unique.
#2: set openejb.deploymentId.format = \{host}/\{appId}/\{ejbJarId}/\{ejbName}
and name the hostname something unique in server.xml. This will ensure unique
deployment names
Solution:
* AutoConfig.java may need an option to prepend a UUID to the clientId or
something
was:
Given:
* You have a MDB listening on a Topic
* You deploy the same WAR/EAR on multiple TomEE instances
Problem:
* Only one of the messageListeners will receive the message
Expected:
* All instances listening on the topic should get a copy of the message
Cause:
* TomEE by default uses the DeploymentId as the clientId. This will not be
unique by default. The JMS Spec says listeners on topics need unique names.
Workarounds:
#1: openejb.activemq.deploymentId-as-clientId is true by default. Setting this
to false might allow activeMq to assign the client id, which will be
unintelligible but unique.
#2: set openejb.deploymentId.format = {host}/{appId}/{ejbJarId}/{ejbName} and
name the hostname something unique in server.xml. This will ensure unique
deployment names
Solution:
* AutoConfig.java may need an option to prepend a UUID to the clientId or
something
> TomEE doesn't deliver a message to all listeners on a JMS Topic (sometimes)
> ---------------------------------------------------------------------------
>
> Key: TOMEE-2678
> URL: https://issues.apache.org/jira/browse/TOMEE-2678
> Project: TomEE
> Issue Type: Bug
> Reporter: Jonathan S Fisher
> Priority: Major
>
> Given:
> * You have a MDB listening on a Topic
> * You deploy the same WAR/EAR on multiple TomEE instances
> Problem:
> * Only one of the messageListeners will receive the message
> Expected:
> * All instances listening on the topic should get a copy of the message
> Cause:
> * TomEE by default uses the DeploymentId as the clientId. This will not be
> unique by default. The JMS Spec says listeners on topics need unique names.
> Workarounds:
> #1: openejb.activemq.deploymentId-as-clientId is true by default. Setting
> this to false might allow activeMq to assign the client id, which will be
> unintelligible but unique.
> #2: set openejb.deploymentId.format = \{host}/\{appId}/\{ejbJarId}/\{ejbName}
> and name the hostname something unique in server.xml. This will ensure unique
> deployment names
> Solution:
> * AutoConfig.java may need an option to prepend a UUID to the clientId or
> something
--
This message was sent by Atlassian Jira
(v8.3.2#803003)