Search in sources :

Example 1 with SimpleDispatchPolicy

use of org.apache.activemq.broker.region.policy.SimpleDispatchPolicy in project activemq-artemis by apache.

the class ConfigTest method testBrokerConfig.

/*
    * This tests configuring the different broker properties using
    * xbeans-spring
    */
@Test
public void testBrokerConfig() throws Exception {
    ActiveMQTopic dest;
    BrokerService broker;
    File journalFile = new File(JOURNAL_ROOT);
    recursiveDelete(journalFile);
    // Create broker from resource
    // System.out.print("Creating broker... ");
    broker = createBroker("org/apache/activemq/config/example.xml");
    LOG.info("Success");
    try {
        // Check broker configuration
        // System.out.print("Checking broker configurations... ");
        assertEquals("Broker Config Error (brokerName)", "brokerConfigTest", broker.getBrokerName());
        assertEquals("Broker Config Error (populateJMSXUserID)", false, broker.isPopulateJMSXUserID());
        assertEquals("Broker Config Error (useLoggingForShutdownErrors)", true, broker.isUseLoggingForShutdownErrors());
        assertEquals("Broker Config Error (useJmx)", true, broker.isUseJmx());
        assertEquals("Broker Config Error (persistent)", false, broker.isPersistent());
        assertEquals("Broker Config Error (useShutdownHook)", false, broker.isUseShutdownHook());
        assertEquals("Broker Config Error (deleteAllMessagesOnStartup)", true, broker.isDeleteAllMessagesOnStartup());
        LOG.info("Success");
        // Check specific vm transport
        // System.out.print("Checking vm connector... ");
        assertEquals("Should have a specific VM Connector", "vm://javacoola", broker.getVmConnectorURI().toString());
        LOG.info("Success");
        // Check transport connectors list
        // System.out.print("Checking transport connectors... ");
        List<TransportConnector> connectors = broker.getTransportConnectors();
        assertTrue("Should have created at least 3 connectors", connectors.size() >= 3);
        assertTrue("1st connector should be TcpTransportServer", connectors.get(0).getServer() instanceof TcpTransportServer);
        assertTrue("2nd connector should be TcpTransportServer", connectors.get(1).getServer() instanceof TcpTransportServer);
        assertTrue("3rd connector should be TcpTransportServer", connectors.get(2).getServer() instanceof TcpTransportServer);
        // Check network connectors
        // System.out.print("Checking network connectors... ");
        List<NetworkConnector> networkConnectors = broker.getNetworkConnectors();
        assertEquals("Should have a single network connector", 1, networkConnectors.size());
        LOG.info("Success");
        // Check dispatch policy configuration
        // System.out.print("Checking dispatch policies... ");
        dest = new ActiveMQTopic("Topic.SimpleDispatch");
        assertTrue("Should have a simple dispatch policy for " + dest.getTopicName(), broker.getDestinationPolicy().getEntryFor(dest).getDispatchPolicy() instanceof SimpleDispatchPolicy);
        dest = new ActiveMQTopic("Topic.RoundRobinDispatch");
        assertTrue("Should have a round robin dispatch policy for " + dest.getTopicName(), broker.getDestinationPolicy().getEntryFor(dest).getDispatchPolicy() instanceof RoundRobinDispatchPolicy);
        dest = new ActiveMQTopic("Topic.StrictOrderDispatch");
        assertTrue("Should have a strict order dispatch policy for " + dest.getTopicName(), broker.getDestinationPolicy().getEntryFor(dest).getDispatchPolicy() instanceof StrictOrderDispatchPolicy);
        LOG.info("Success");
        // Check subscription policy configuration
        // System.out.print("Checking subscription recovery policies... ");
        SubscriptionRecoveryPolicy subsPolicy;
        dest = new ActiveMQTopic("Topic.FixedSizedSubs");
        subsPolicy = broker.getDestinationPolicy().getEntryFor(dest).getSubscriptionRecoveryPolicy();
        assertTrue("Should have a fixed sized subscription recovery policy for " + dest.getTopicName(), subsPolicy instanceof FixedSizedSubscriptionRecoveryPolicy);
        assertEquals("FixedSizedSubsPolicy Config Error (maximumSize)", 2000000, ((FixedSizedSubscriptionRecoveryPolicy) subsPolicy).getMaximumSize());
        assertEquals("FixedSizedSubsPolicy Config Error (useSharedBuffer)", false, ((FixedSizedSubscriptionRecoveryPolicy) subsPolicy).isUseSharedBuffer());
        dest = new ActiveMQTopic("Topic.LastImageSubs");
        subsPolicy = broker.getDestinationPolicy().getEntryFor(dest).getSubscriptionRecoveryPolicy();
        assertTrue("Should have a last image subscription recovery policy for " + dest.getTopicName(), subsPolicy instanceof LastImageSubscriptionRecoveryPolicy);
        dest = new ActiveMQTopic("Topic.NoSubs");
        subsPolicy = broker.getDestinationPolicy().getEntryFor(dest).getSubscriptionRecoveryPolicy();
        assertTrue("Should have no subscription recovery policy for " + dest.getTopicName(), subsPolicy instanceof NoSubscriptionRecoveryPolicy);
        dest = new ActiveMQTopic("Topic.TimedSubs");
        subsPolicy = broker.getDestinationPolicy().getEntryFor(dest).getSubscriptionRecoveryPolicy();
        assertTrue("Should have a timed subscription recovery policy for " + dest.getTopicName(), subsPolicy instanceof TimedSubscriptionRecoveryPolicy);
        assertEquals("TimedSubsPolicy Config Error (recoverDuration)", 25000, ((TimedSubscriptionRecoveryPolicy) subsPolicy).getRecoverDuration());
        LOG.info("Success");
        // Check usage manager
        // System.out.print("Checking memory manager configurations... ");
        SystemUsage systemUsage = broker.getSystemUsage();
        assertTrue("Should have a SystemUsage", systemUsage != null);
        assertEquals("SystemUsage Config Error (MemoryUsage.limit)", 1024 * 1024 * 10, systemUsage.getMemoryUsage().getLimit());
        assertEquals("SystemUsage Config Error (MemoryUsage.percentUsageMinDelta)", 20, systemUsage.getMemoryUsage().getPercentUsageMinDelta());
        assertEquals("SystemUsage Config Error (TempUsage.limit)", 1024 * 1024 * 100, systemUsage.getTempUsage().getLimit());
        assertEquals("SystemUsage Config Error (StoreUsage.limit)", 1024 * 1024 * 1024, systemUsage.getStoreUsage().getLimit());
        assertEquals("SystemUsage Config Error (StoreUsage.name)", "foo", systemUsage.getStoreUsage().getName());
        assertNotNull(systemUsage.getStoreUsage().getStore());
        assertTrue(systemUsage.getStoreUsage().getStore() instanceof MemoryPersistenceAdapter);
        LOG.info("Success");
    } finally {
        if (broker != null) {
            broker.stop();
        }
    }
}
Also used : ActiveMQTopic(org.apache.activemq.command.ActiveMQTopic) MemoryPersistenceAdapter(org.apache.activemq.store.memory.MemoryPersistenceAdapter) RoundRobinDispatchPolicy(org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy) StrictOrderDispatchPolicy(org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy) SystemUsage(org.apache.activemq.usage.SystemUsage) TcpTransportServer(org.apache.activemq.transport.tcp.TcpTransportServer) FixedSizedSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.FixedSizedSubscriptionRecoveryPolicy) NoSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy) FixedSizedSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.FixedSizedSubscriptionRecoveryPolicy) NoSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy) TimedSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy) SubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy) LastImageSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy) TransportConnector(org.apache.activemq.broker.TransportConnector) TimedSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy) SimpleDispatchPolicy(org.apache.activemq.broker.region.policy.SimpleDispatchPolicy) LastImageSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy) NetworkConnector(org.apache.activemq.network.NetworkConnector) BrokerService(org.apache.activemq.broker.BrokerService) File(java.io.File) Test(org.junit.Test)

Example 2 with SimpleDispatchPolicy

use of org.apache.activemq.broker.region.policy.SimpleDispatchPolicy in project activemq-artemis by apache.

the class SimpleDispatchPolicyTest method createBroker.

@Override
protected BrokerService createBroker() throws Exception {
    BrokerService broker = super.createBroker();
    PolicyEntry policy = new PolicyEntry();
    policy.setDispatchPolicy(new SimpleDispatchPolicy());
    policy.setSubscriptionRecoveryPolicy(new FixedCountSubscriptionRecoveryPolicy());
    PolicyMap pMap = new PolicyMap();
    pMap.setDefaultEntry(policy);
    broker.setDestinationPolicy(pMap);
    return broker;
}
Also used : PolicyMap(org.apache.activemq.broker.region.policy.PolicyMap) SimpleDispatchPolicy(org.apache.activemq.broker.region.policy.SimpleDispatchPolicy) FixedCountSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.FixedCountSubscriptionRecoveryPolicy) BrokerService(org.apache.activemq.broker.BrokerService) PolicyEntry(org.apache.activemq.broker.region.policy.PolicyEntry)

Example 3 with SimpleDispatchPolicy

use of org.apache.activemq.broker.region.policy.SimpleDispatchPolicy in project activemq-artemis by apache.

the class NoDuplicateOnTopicNetworkTest method initCombosForTestProducerConsumerTopic.

public void initCombosForTestProducerConsumerTopic() {
    this.addCombinationValues("suppressDuplicateTopicSubs", new Object[] { Boolean.TRUE, Boolean.FALSE });
    this.addCombinationValues("dispatchPolicy", new Object[] { new PriorityNetworkDispatchPolicy(), new SimpleDispatchPolicy() });
    this.addCombinationValues("durableSub", new Object[] { Boolean.TRUE, Boolean.FALSE });
}
Also used : SimpleDispatchPolicy(org.apache.activemq.broker.region.policy.SimpleDispatchPolicy) PriorityNetworkDispatchPolicy(org.apache.activemq.broker.region.policy.PriorityNetworkDispatchPolicy)

Aggregations

SimpleDispatchPolicy (org.apache.activemq.broker.region.policy.SimpleDispatchPolicy)3 BrokerService (org.apache.activemq.broker.BrokerService)2 File (java.io.File)1 TransportConnector (org.apache.activemq.broker.TransportConnector)1 FixedCountSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.FixedCountSubscriptionRecoveryPolicy)1 FixedSizedSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.FixedSizedSubscriptionRecoveryPolicy)1 LastImageSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy)1 NoSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy)1 PolicyEntry (org.apache.activemq.broker.region.policy.PolicyEntry)1 PolicyMap (org.apache.activemq.broker.region.policy.PolicyMap)1 PriorityNetworkDispatchPolicy (org.apache.activemq.broker.region.policy.PriorityNetworkDispatchPolicy)1 RoundRobinDispatchPolicy (org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy)1 StrictOrderDispatchPolicy (org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy)1 SubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy)1 TimedSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy)1 ActiveMQTopic (org.apache.activemq.command.ActiveMQTopic)1 NetworkConnector (org.apache.activemq.network.NetworkConnector)1 MemoryPersistenceAdapter (org.apache.activemq.store.memory.MemoryPersistenceAdapter)1 TcpTransportServer (org.apache.activemq.transport.tcp.TcpTransportServer)1 SystemUsage (org.apache.activemq.usage.SystemUsage)1