Search in sources :

Example 1 with NoSubscriptionRecoveryPolicy

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

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

the class NetworkLoadTest method createBroker.

protected BrokerService createBroker(int brokerId) throws Exception {
    BrokerService broker = new BrokerService();
    broker.setBrokerName("broker-" + brokerId);
    broker.setPersistent(false);
    broker.setUseJmx(true);
    broker.getManagementContext().setCreateConnector(false);
    final SystemUsage memoryManager = new SystemUsage();
    // 50 MB
    memoryManager.getMemoryUsage().setLimit(1024 * 1024 * 50);
    broker.setSystemUsage(memoryManager);
    final List<PolicyEntry> policyEntries = new ArrayList<>();
    final PolicyEntry entry = new PolicyEntry();
    entry.setQueue(">");
    // Set to 1 MB
    entry.setMemoryLimit(1024 * 1024 * 1);
    entry.setPendingSubscriberPolicy(new VMPendingSubscriberMessageStoragePolicy());
    entry.setPendingQueuePolicy(new VMPendingQueueMessageStoragePolicy());
    policyEntries.add(entry);
    // This is to turn of the default behavior of storing topic messages for retroactive consumption
    final PolicyEntry topicPolicyEntry = new PolicyEntry();
    topicPolicyEntry.setTopic(">");
    final NoSubscriptionRecoveryPolicy noSubscriptionRecoveryPolicy = new NoSubscriptionRecoveryPolicy();
    topicPolicyEntry.setSubscriptionRecoveryPolicy(noSubscriptionRecoveryPolicy);
    final PolicyMap policyMap = new PolicyMap();
    policyMap.setPolicyEntries(policyEntries);
    broker.setDestinationPolicy(policyMap);
    TransportConnector transportConnector = new TransportConnector();
    transportConnector.setUri(new URI("tcp://localhost:" + (60000 + brokerId)));
    transportConnector.setDiscoveryUri(new URI("multicast://default?group=" + groupId));
    broker.addConnector(transportConnector);
    DiscoveryNetworkConnector networkConnector = new DiscoveryNetworkConnector();
    networkConnector.setUri(new URI("multicast://default?group=" + groupId));
    networkConnector.setBridgeTempDestinations(true);
    networkConnector.setPrefetchSize(1);
    broker.addNetworkConnector(networkConnector);
    return broker;
}
Also used : TransportConnector(org.apache.activemq.broker.TransportConnector) PolicyMap(org.apache.activemq.broker.region.policy.PolicyMap) VMPendingSubscriberMessageStoragePolicy(org.apache.activemq.broker.region.policy.VMPendingSubscriberMessageStoragePolicy) ArrayList(java.util.ArrayList) SystemUsage(org.apache.activemq.usage.SystemUsage) VMPendingQueueMessageStoragePolicy(org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy) BrokerService(org.apache.activemq.broker.BrokerService) PolicyEntry(org.apache.activemq.broker.region.policy.PolicyEntry) URI(java.net.URI) NoSubscriptionRecoveryPolicy(org.apache.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy)

Aggregations

BrokerService (org.apache.activemq.broker.BrokerService)2 TransportConnector (org.apache.activemq.broker.TransportConnector)2 NoSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy)2 SystemUsage (org.apache.activemq.usage.SystemUsage)2 File (java.io.File)1 URI (java.net.URI)1 ArrayList (java.util.ArrayList)1 FixedSizedSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.FixedSizedSubscriptionRecoveryPolicy)1 LastImageSubscriptionRecoveryPolicy (org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy)1 PolicyEntry (org.apache.activemq.broker.region.policy.PolicyEntry)1 PolicyMap (org.apache.activemq.broker.region.policy.PolicyMap)1 RoundRobinDispatchPolicy (org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy)1 SimpleDispatchPolicy (org.apache.activemq.broker.region.policy.SimpleDispatchPolicy)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 VMPendingQueueMessageStoragePolicy (org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy)1 VMPendingSubscriberMessageStoragePolicy (org.apache.activemq.broker.region.policy.VMPendingSubscriberMessageStoragePolicy)1 ActiveMQTopic (org.apache.activemq.command.ActiveMQTopic)1 NetworkConnector (org.apache.activemq.network.NetworkConnector)1