Package org.apache.activemq.broker.region

Examples of org.apache.activemq.broker.region.RegionBroker


        }
        return createRegionBroker(destinationInterceptor);
    }
   
    protected Broker createRegionBroker(DestinationInterceptor destinationInterceptor) throws IOException {
         RegionBroker regionBroker;
        if (isUseJmx()) {
            MBeanServer mbeanServer = getManagementContext().getMBeanServer();
            regionBroker = new ManagedRegionBroker(this, mbeanServer, getBrokerObjectName(), getTaskRunnerFactory(), getConsumerSystemUsage(), destinationFactory,
                                                   destinationInterceptor);
        } else {
            regionBroker = new RegionBroker(this, getTaskRunnerFactory(), getConsumerSystemUsage(), destinationFactory, destinationInterceptor);
        }
        destinationFactory.setRegionBroker(regionBroker);

        regionBroker.setKeepDurableSubsActive(keepDurableSubsActive);
        regionBroker.setBrokerName(getBrokerName());
        regionBroker.getDestinationStatistics().setEnabled(enableStatistics);

        return regionBroker;
  }
View Full Code Here


    public TransportConnection(TransportConnector connector, final Transport transport, Broker broker,
                               TaskRunnerFactory taskRunnerFactory) {
        this.connector = connector;
        this.broker = broker;
        this.messageAuthorizationPolicy = connector.getMessageAuthorizationPolicy();
        RegionBroker rb = (RegionBroker)broker.getAdaptor(RegionBroker.class);
        brokerConnectionStates = rb.getConnectionStates();
        if (connector != null) {
            this.statistics.setParent(connector.getStatistics());
        }
        this.taskRunnerFactory = taskRunnerFactory;
        this.transport = transport;
View Full Code Here

        }
        return createRegionBroker(destinationInterceptor);
    }

    protected Broker createRegionBroker(DestinationInterceptor destinationInterceptor) throws IOException {
        RegionBroker regionBroker;
        if (isUseJmx()) {
            regionBroker = new ManagedRegionBroker(this, getManagementContext(), getBrokerObjectName(),
                    getTaskRunnerFactory(), getConsumerSystemUsage(), destinationFactory, destinationInterceptor,getScheduler(),getExecutor());
        } else {
            regionBroker = new RegionBroker(this, getTaskRunnerFactory(), getConsumerSystemUsage(), destinationFactory,
                    destinationInterceptor,getScheduler(),getExecutor());
        }
        destinationFactory.setRegionBroker(regionBroker);
        regionBroker.setKeepDurableSubsActive(keepDurableSubsActive);
        regionBroker.setBrokerName(getBrokerName());
        regionBroker.getDestinationStatistics().setEnabled(enableStatistics);
        regionBroker.setAllowTempAutoCreationOnSend(isAllowTempAutoCreationOnSend());
        if (brokerId != null) {
            regionBroker.setBrokerId(brokerId);
        }
        return regionBroker;
    }
View Full Code Here

    public TransportConnection(TransportConnector connector, final Transport transport, Broker broker,
                               TaskRunnerFactory taskRunnerFactory) {
        this.connector = connector;
        this.broker = broker;
        this.messageAuthorizationPolicy = connector.getMessageAuthorizationPolicy();
        RegionBroker rb = (RegionBroker) broker.getAdaptor(RegionBroker.class);
        brokerConnectionStates = rb.getConnectionStates();
        if (connector != null) {
            this.statistics.setParent(connector.getStatistics());
        }
        this.taskRunnerFactory = taskRunnerFactory;
        this.transport = transport;
View Full Code Here

    }

    @Override
    void rollbackStatsOnDuplicate(KahaDestination commandDestination) {
        if (brokerService != null) {
            RegionBroker regionBroker = (RegionBroker) brokerService.getRegionBroker();
            if (regionBroker != null) {
                Set<Destination> destinationSet = regionBroker.getDestinations(convert(commandDestination));
                for (Destination destination : destinationSet) {
                    destination.getDestinationStatistics().getMessages().decrement();
                    destination.getDestinationStatistics().getEnqueues().decrement();
                }
            }
View Full Code Here

        }
        return found;
    }

    private final Collection<Subscription> getRegionSubscriptions(ActiveMQDestination dest) {
        RegionBroker region_broker = (RegionBroker) brokerService.getRegionBroker();
        Region region;
        Collection<Subscription> subs;

        region = null;
        switch ( dest.getDestinationType() )
        {
            case ActiveMQDestination.QUEUE_TYPE:
                region = region_broker.getQueueRegion();
                break;

            case ActiveMQDestination.TOPIC_TYPE:
                region = region_broker.getTopicRegion();
                break;

            case ActiveMQDestination.TEMP_QUEUE_TYPE:
                region = region_broker.getTempQueueRegion();
                break;

            case ActiveMQDestination.TEMP_TOPIC_TYPE:
                region = region_broker.getTempTopicRegion();
                break;
        }

        if ( region instanceof AbstractRegion )
            subs = ((AbstractRegion) region).getSubscriptions().values();
View Full Code Here

        return result;
    }

    private static Map<ActiveMQDestination, org.apache.activemq.broker.region.Destination> getDestinationMap(BrokerService target,
            ActiveMQDestination destination) {
        RegionBroker regionBroker = (RegionBroker) target.getRegionBroker();
        return destination.isQueue() ?
                    regionBroker.getQueueRegion().getDestinationMap() :
                        regionBroker.getTopicRegion().getDestinationMap();
    }
View Full Code Here

         MessageProducer producer = session.createProducer(queue);
         for (int i = 0; i < 10; i++) {
             producer.send(session.createTextMessage("Hello" + i));
         }

         final RegionBroker regionBroker = (RegionBroker) BrokerRegistry.getInstance().findFirst().getRegionBroker();
         MessageConsumer consumer = session.createConsumer(queue);

         assertTrue("prefetch full", Wait.waitFor(new Wait.Condition() {
             @Override
             public boolean isSatisified() throws Exception {
                 LOG.info("inflight count: " + regionBroker.getDestinationStatistics().getInflight().getCount());
                 return 10 == regionBroker.getDestinationStatistics().getInflight().getCount();
             }
         }));

         for (int i=0; i<10; i++) {
            javax.jms.Message msg = consumer.receive(4000);
            assertNotNull(msg);
             if (i<7) {
                 assertEquals("all prefetch is still in flight", 10, regionBroker.getDestinationStatistics().getInflight().getCount());
             } else {
                 assertTrue("most are acked but 3 remain", Wait.waitFor(new Wait.Condition(){
                     @Override
                     public boolean isSatisified() throws Exception {
                         LOG.info("inflight count: " + regionBroker.getDestinationStatistics().getInflight().getCount());
                         return 3 == regionBroker.getDestinationStatistics().getInflight().getCount();
                     }
                 }));
             }
         }
     }
View Full Code Here

         MessageProducer producer = session.createProducer(queue);
         for (int i = 0; i < 10; i++) {
             producer.send(session.createTextMessage("Hello" + i));
         }

         final RegionBroker regionBroker = (RegionBroker) BrokerRegistry.getInstance().findFirst().getRegionBroker();
         MessageConsumer consumer = session.createConsumer(queue);

         assertTrue("prefetch full", Wait.waitFor(new Wait.Condition() {
             @Override
             public boolean isSatisified() throws Exception {
                 LOG.info("inflight count: " + regionBroker.getDestinationStatistics().getInflight().getCount());
                 return 10 == regionBroker.getDestinationStatistics().getInflight().getCount();
             }
         }));

         for (int i=0; i<10; i++) {
             Thread.sleep(400);
            javax.jms.Message msg = consumer.receive(4000);
            assertNotNull(msg);
             if (i<7) {
                 assertEquals("all prefetch is still in flight: " + i, 10, regionBroker.getDestinationStatistics().getInflight().getCount());
             } else {
                 assertTrue("most are acked but 3 remain", Wait.waitFor(new Wait.Condition(){
                     @Override
                     public boolean isSatisified() throws Exception {
                         return 3 == regionBroker.getDestinationStatistics().getInflight().getCount();
                     }
                 }));
             }
         }
     }
View Full Code Here

        sendConnection.close();

        LOG.info("checking for dangling temp destinations");
        // ensure all temp dests get cleaned up on all brokers
        for (BrokerService brokerService : brokers) {
            final RegionBroker regionBroker = (RegionBroker) brokerService.getRegionBroker();
            assertTrue("all temps are gone on " + regionBroker.getBrokerName(), Wait.waitFor(new Wait.Condition(){
                @Override
                public boolean isSatisified() throws Exception {
                    Map tempTopics = regionBroker.getTempTopicRegion().getDestinationMap();
                    LOG.info("temp topics on " + regionBroker.getBrokerName() + ", " + tempTopics);
                    Map tempQ = regionBroker.getTempQueueRegion().getDestinationMap();
                    LOG.info("temp queues on " + regionBroker.getBrokerName() + ", " + tempQ);
                    return tempQ.isEmpty() && tempTopics.isEmpty();
                }
            }));
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.activemq.broker.region.RegionBroker

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.