tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan S Fisher (Jira)" <j...@apache.org>
Subject [jira] [Updated] (TOMEE-2678) TomEE doesn't deliver a message to all listeners on a JMS Topic (sometimes)
Date Wed, 11 Sep 2019 16:24:00 GMT

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

Mime
View raw message