Bug 814134 - Enable configuration and propagation of the JMS priority through the ESB aware services
Summary: Enable configuration and propagation of the JMS priority through the ESB awar...
Keywords:
Status: VERIFIED
Alias: None
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: JBossESB
Version: 5.3.0 GA
Hardware: All
OS: All
unspecified
medium
Target Milestone: ER4
: 5.3.0 GA
Assignee: Nobody
QA Contact: Jennifer Albertson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-19 09:57 UTC by kconner
Modified: 2021-10-15 11:51 UTC (History)
4 users (show)

Fixed In Version: 5.3.0 GA
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBESB-3786 0 Major Closed Enable configuration and propagation of the JMS priority through the ESB aware services 2017-12-12 13:31:34 UTC

Description kconner 2012-04-19 09:57:56 UTC
Description of problem:

The feature request is to have a priority configured on a gateway and then have that propagate through the ESB services which are invoked as a result.

The priority should be applied to any JMS transports which are used to communicate with ESB services, using the JMS message setJMSPriorty, and propagated through those services to subsequent ESB service invocations.

Expected results:

JMS priority can be used by reorder messages arriving at JMS endpoints so that certain services can take precedence over lower priority services.

Additional info:

I have a good idea of how this can be addressed.

Comment 1 Len DiMaggio 2012-04-25 18:57:15 UTC
Just to confirm - does JBossESB have to do anything with this priority, other than define it for a gateway and propagate it in the messages that pass through that gateway?

Comment 2 Len DiMaggio 2012-04-25 19:48:26 UTC
Question are JBossESB editor/tooling changes needed?

Comment 3 kconner 2012-04-25 21:42:15 UTC
(In reply to comment #1)
> Just to confirm - does JBossESB have to do anything with this priority, other
> than define it for a gateway and propagate it in the messages that pass through
> that gateway?

The priority needs to be applied to each JMS message sent, directly or indirectly, as a result of the incoming messages at the gateway.

Comment 4 kconner 2012-04-25 21:45:25 UTC
(In reply to comment #2)
> Question are JBossESB editor/tooling changes needed?

No editor/tooling changes are being requested at this time, only server side.

Comment 5 Len DiMaggio 2012-05-01 16:28:43 UTC
So:

'...The priority needs to be applied to each JMS message sent, directly or
indirectly, as a result of the incoming messages at the gateway...'

The ESB will also be throttling throughput based on message priority?

Comment 6 kconner 2012-05-01 18:31:16 UTC
(In reply to comment #5)
> The ESB will also be throttling throughput based on message priority?

The ESB will do nothing more than consume messages as they are provided by the JMS provider; the JMS providers should be delivering the messages based on the JMS priority.

The JMS API defines 10 priority levels 0 (lowest) - 9 (highest).  The default level is 4.

Comment 7 kconner 2012-05-24 19:05:00 UTC
Functionality added in ESB through JBESB-3786

Comment 8 David Le Sage 2012-06-05 04:01:59 UTC
Documented.

Comment 9 Filip Nguyen 2012-06-14 14:37:28 UTC
I am using SOA Platform 5.3 ER3. In this version it seems that the functionality is not there.

After investigating futher I have come to conclusion that the functionality wasn't productized into this version of SOA Platform because I do not see the changes from  branch JBESB_4_11_CP@38100 in jboss-rosetta.jar (e.g. new class MessageFlowContext.java is not there)

Comment 10 Filip Nguyen 2012-06-27 08:55:16 UTC
JIRA https://issues.jboss.org/browse/JBESB-3786 states that it should be possible to set it on listener/bus/provider.  

I couldn't set it on a bus nor provider. The esb fails to deploy with validation error:


10:44:29,529 INFO  [org.jboss.soa.esb.listeners.deployers.mc.EsbDeployment] Starting ESB Deployment 'JmsPriority.esb'
10:44:29,531 ERROR [org.jboss.soa.esb.listeners.config.model.ModelParser$XmlErrorHandler] ERROR-null-26:cvc-complex-type.2.4.d: Invalid content was found starting with element 'property'. No child element is expected at this point.

Comment 11 kconner 2012-07-09 16:38:25 UTC
Likely caused by having the property element in the wrong place.

Using the helloworld quickstart as an example, this is how it could be configured

          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
===>          <property name="messageFlowPriority" value="4"/>
              <jms-bus busid="quickstartGwChannel">
===>              <property name="messageFlowPriority" value="4"/>
                  <jms-message-filter
                      dest-type="QUEUE"
                      dest-name="queue/quickstart_helloworld_Request_gw"
                   />
              </jms-bus>
...
                <jms-listener name="JMS-Gateway"
                    busidref="quickstartGwChannel"
                    is-gateway="true">
===>               <property name="messageFlowPriority" value="4"/>
                </jms-listener>

Comment 12 Filip Nguyen 2012-07-11 08:02:29 UTC
Yes you are right Kevin. I have placed the property elements after to the end of the jms-provider element and to the end of the jms-bus element which gives a validation error.

Comment 13 PnT Account Manager 2017-12-11 13:33:57 UTC
Employee 'fnguyen' has left the company.


Note You need to log in before you can comment on or make changes to this bug.