activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "james strachan (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AMQ-769) Expose MessageGroupMap implementation to be configurable via BrokerService property
Date Wed, 09 Aug 2006 08:43:24 GMT
     [ https://issues.apache.org/activemq/browse/AMQ-769?page=all ]

james strachan resolved AMQ-769.
--------------------------------

    Fix Version/s: 4.1
       Resolution: Fixed

I've added a MessageGroupMapFactory strategy to the destination based policy configuration...

http://incubator.apache.org/activemq/per-destination-policies.html

so you can specify something like this...

 <broker>

    <destinationPolicy>
      <policyMap>
        <policyEntries>
          <policyEntry queue=">">
           <messageGroupMapFactory>
            <simpleMessageGroupMapFactory/>
    

> Expose MessageGroupMap implementation to be configurable via BrokerService property
> -----------------------------------------------------------------------------------
>
>                 Key: AMQ-769
>                 URL: https://issues.apache.org/activemq/browse/AMQ-769
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 4.0
>         Environment: Active MQ 4.0
>            Reporter: Sanjiv Jivan
>             Fix For: 4.1
>
>
> I need to use the SimpleMessageGroupMap implmentation of MessageGroupMap instad of the
default MessageGroupHashBucket implmentation. Presently there's no easy way to do this. Additionally
the member  "messageGroupOwners" in org.apache.activemq.broker.region.Queue is private, with
no setter and the getter has 
>     public MessageGroupMap getMessageGroupOwners() {
>         if (messageGroupOwners == null) {
>             messageGroupOwners = new MessageGroupHashBucket(messageGroupHashBucketCount);
>         }
>         return messageGroupOwners;
>     }
> So basically there's no easy way to use another implmentation of MessageGroupMap in this
class. (This lazy create method is also not threadsafe. Might be better to default initialize
messageGroupOwners )
> I had to jump through a bunh of hoops, starting with subclassing BrokerService exposing
the messageGroupOwners class, followed by overriding createRegionBroker() where it creates
an annonymous subclass of RegionBroker , overriding createQueueRegion and createTempQueueRegion
where I create subclasses of  QueueRegion and TempQueueRegion respectively to have them be
configured to use the configured MessageGroupMap.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message