|
|
Choosing A Webhost: |
[jira] Updated: (AMQ-877) Patch: refactoring to allow alternative (using di: msg#00573java.activemq.devel
[ https://issues.apache.org/activemq/browse/AMQ-877?page=all ] Maxim Fateev updated AMQ-877: ----------------------------- Attachment: destinationFactoryActiveMQ_438704.patch The updated patch is attached. > Patch: refactoring to allow alternative (using different storage interface) > Destinations implementations. > --------------------------------------------------------------------------------------------------------- > > Key: AMQ-877 > URL: https://issues.apache.org/activemq/browse/AMQ-877 > Project: ActiveMQ > Issue Type: Improvement > Components: Broker > Affects Versions: 4.x > Reporter: Maxim Fateev > Assigned To: Rob Davies > Fix For: 4.1 > > Attachments: destinationFactoryActiveMQ_438704.patch, > destinationFactoryActiveMQPatch.txt > > > We were looking at alternate message persistence mechanisms that can co-exist > in current ActiveMQ code base and we are thinking of a mechanism that is > somewhat incompatible with the current MessageStore and PersistenceAdapter > APIs. Unfortunately, the current ActiveMQ broker doesn't allow for such a > change as the PersistenceAdapter and MessageStore interfaces are referenced > directly by the RegionBroker and by both the Queue and Topic region > implementations. Therefore, we are proposing a relatively small backwards > compatible refactoring of the broker code that would eliminate all > dependencies on the PersistenceAdapter and MessageStore interfaces from those > classes that do not use them directly. This refactoring would also allow > creation of a custom Destination implementation that may use an alternative > persistence mechanism on a destination by destination basis (which is exactly > what we need to do). > The main idea behind the refactoring is to replace many references to > PersistenceAdapter with a new interface: DestinationFactory: > public abstract class DestinationFactory { > abstract public Destination createDestination(ConnectionContext > context, ActiveMQDestination destination, DestinationStatistics > destinationStatistics) throws Exception; > abstract public Set getDestinations(); > abstract public SubscriptionInfo[] > getAllDurableSubscriptions(ActiveMQTopic topic) throws IOException; > abstract public long getLastMessageBrokerSequenceId() throws > IOException; > abstract public void setRegionBroker(RegionBroker regionBroker); > } > Note that DestinationFactory doesn't mandate any specific persistence > mechanism. The classes that would reference it instead of PersistenceAdapter > are: RegionBroker, AbstractRegion, QueueRegion, and TopicRegion. Also, the > AbstractRegion.createDestination method would be changed from abstract to an > implementation that uses DestinationFactory to create a destination. > BrokerService could be changed to use DestinationFactory if one is > provided. If none is provided, it will create a DestinationFactory > implementation that instantiates Queue and Topic using PersistenceAdapter as > it does currently. Hence, full backwards compatibility will be maintained. > Patch is attached. -- 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
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Creating a secure connection system and using JMSXUserID support, Sepand M |
|---|---|
| Next by Date: | [jira] Commented: (AMQ-903) ActivemMQ slows down after a rather small number of messages, Daniel Aioanei (JIRA) |
| Previous by Thread: | [jira] Assigned: (AMQ-877) Patch: refactoring to allow alternative (using different storage interface) Destinations implementations., Rob Davies (JIRA) |
| Next by Thread: | [jira] Resolved: (AMQ-877) Patch: refactoring to allow alternative (using different storage interface) Destinations implementations., Rob Davies (JIRA) |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |