[ 
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)

Reply via email to