Search in sources :

Example 1 with StrictOrderDispatchPolicy

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

the class XBeanConfigTest method testBrokerConfiguredCorrectly.

public void testBrokerConfiguredCorrectly() throws Exception {
    // Validate the system properties are being evaluated in xbean.
    assertEquals("testbroker", brokerService.getBrokerName());
    Topic topic = (Topic) broker.addDestination(context, new ActiveMQTopic("FOO.BAR"), true);
    DispatchPolicy dispatchPolicy = topic.getDispatchPolicy();
    assertTrue("dispatchPolicy should be RoundRobinDispatchPolicy: " + dispatchPolicy, dispatchPolicy instanceof RoundRobinDispatchPolicy);
    SubscriptionRecoveryPolicy subscriptionRecoveryPolicy = topic.getSubscriptionRecoveryPolicy();
    subscriptionRecoveryPolicy = ((RetainedMessageSubscriptionRecoveryPolicy) subscriptionRecoveryPolicy).getWrapped();
    assertTrue("subscriptionRecoveryPolicy should be LastImageSubscriptionRecoveryPolicy: " + subscriptionRecoveryPolicy, subscriptionRecoveryPolicy instanceof LastImageSubscriptionRecoveryPolicy);
    LOG.info("destination: " + topic);
    LOG.info("dispatchPolicy: " + dispatchPolicy);
    LOG.info("subscriptionRecoveryPolicy: " + subscriptionRecoveryPolicy);
    topic = (Topic) broker.addDestination(context, new ActiveMQTopic("ORDERS.BOOKS"), true);
    dispatchPolicy = topic.getDispatchPolicy();
    assertTrue("dispatchPolicy should be StrictOrderDispatchPolicy: " + dispatchPolicy, dispatchPolicy instanceof StrictOrderDispatchPolicy);
    subscriptionRecoveryPolicy = topic.getSubscriptionRecoveryPolicy();
    subscriptionRecoveryPolicy = ((RetainedMessageSubscriptionRecoveryPolicy) subscriptionRecoveryPolicy).getWrapped();
    assertTrue("subscriptionRecoveryPolicy should be TimedSubscriptionRecoveryPolicy: " + subscriptionRecoveryPolicy, subscriptionRecoveryPolicy instanceof TimedSubscriptionRecoveryPolicy);
    TimedSubscriptionRecoveryPolicy timedSubscriptionPolicy = (TimedSubscriptionRecoveryPolicy) subscriptionRecoveryPolicy;
    assertEquals("getRecoverDuration()", 60000, timedSubscriptionPolicy.getRecoverDuration());
    LOG.info("destination: " + topic);
    LOG.info("dispatchPolicy: " + dispatchPolicy);
    LOG.info("subscriptionRecoveryPolicy: " + subscriptionRecoveryPolicy);
}
Also used : TimedSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy) RetainedMessageSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy) SubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy) LastImageSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy) ActiveMQTopic(org.apache.activemq.command.ActiveMQTopic) TimedSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy) RoundRobinDispatchPolicy(org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy) LastImageSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy) StrictOrderDispatchPolicy(org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy) DispatchPolicy(org.apache.activemq.broker.region.policy.DispatchPolicy) RoundRobinDispatchPolicy(org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy) StrictOrderDispatchPolicy(org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy) Topic(org.apache.activemq.broker.region.Topic) ActiveMQTopic(org.apache.activemq.command.ActiveMQTopic)

Example 2 with StrictOrderDispatchPolicy

use of org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy 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 3 with StrictOrderDispatchPolicy

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

the class StrictOrderDispatchPolicyTest method createBroker.

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

Aggregations

StrictOrderDispatchPolicy (org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy)3 BrokerService (org.apache.activemq.broker.BrokerService)2 LastImageSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy)2 RoundRobinDispatchPolicy (org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy)2 SubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy)2 TimedSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy)2 ActiveMQTopic (org.apache.activemq.command.ActiveMQTopic)2 File (java.io.File)1 TransportConnector (org.apache.activemq.broker.TransportConnector)1 Topic (org.apache.activemq.broker.region.Topic)1 DispatchPolicy (org.apache.activemq.broker.region.policy.DispatchPolicy)1 FixedSizedSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.FixedSizedSubscriptionRecoveryPolicy)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 RetainedMessageSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy)1 SimpleDispatchPolicy (org.apache.activemq.broker.region.policy.SimpleDispatchPolicy)1 NetworkConnector (org.apache.activemq.network.NetworkConnector)1 MemoryPersistenceAdapter (org.apache.activemq.store.memory.MemoryPersistenceAdapter)1 TcpTransportServer (org.apache.activemq.transport.tcp.TcpTransportServer)1