Search in sources :

Example 26 with CoreQueueConfiguration

use of org.apache.activemq.artemis.core.config.CoreQueueConfiguration in project activemq-artemis by apache.

the class FailoverWithDivertTest method addQueue.

private void addQueue(Configuration serverConfig, String address, String name) {
    List<CoreAddressConfiguration> addrConfigs = serverConfig.getAddressConfigurations();
    CoreAddressConfiguration addrCfg = new CoreAddressConfiguration();
    addrCfg.setName(address);
    addrCfg.addRoutingType(RoutingType.ANYCAST);
    CoreQueueConfiguration qConfig = new CoreQueueConfiguration();
    qConfig.setName(name);
    qConfig.setAddress(address);
    addrCfg.addQueueConfiguration(qConfig);
    addrConfigs.add(addrCfg);
}
Also used : CoreAddressConfiguration(org.apache.activemq.artemis.core.config.CoreAddressConfiguration) CoreQueueConfiguration(org.apache.activemq.artemis.core.config.CoreQueueConfiguration)

Example 27 with CoreQueueConfiguration

use of org.apache.activemq.artemis.core.config.CoreQueueConfiguration in project activemq-artemis by apache.

the class AutomaticColocatedQuorumVoteTest method getConfiguration.

private Configuration getConfiguration(String identity, boolean scaleDown, TransportConfiguration liveConnector, TransportConfiguration liveAcceptor, TransportConfiguration... otherLiveNodes) throws Exception {
    Configuration configuration = createDefaultInVMConfig().clearAcceptorConfigurations().addAcceptorConfiguration(liveAcceptor).addConnectorConfiguration(liveConnector.getName(), liveConnector).setJournalDirectory(getJournalDir() + identity).setBindingsDirectory(getBindingsDir() + identity).setLargeMessagesDirectory(getLargeMessagesDir() + identity).setPagingDirectory(getPageDir() + identity).addQueueConfiguration(new CoreQueueConfiguration().setAddress("testQueue").setName("testQueue"));
    List<String> transportConfigurationList = new ArrayList<>();
    final ColocatedPolicyConfiguration haPolicy = new ColocatedPolicyConfiguration();
    for (TransportConfiguration otherLiveNode : otherLiveNodes) {
        configuration.addConnectorConfiguration(otherLiveNode.getName(), otherLiveNode);
        transportConfigurationList.add(otherLiveNode.getName());
        haPolicy.getExcludedConnectors().add(otherLiveNode.getName());
    }
    String[] input = new String[transportConfigurationList.size()];
    transportConfigurationList.toArray(input);
    configuration.addClusterConfiguration(basicClusterConnectionConfig(liveConnector.getName(), input));
    haPolicy.setBackupPortOffset(100);
    haPolicy.setBackupRequestRetries(-1);
    haPolicy.setBackupRequestRetryInterval(500);
    haPolicy.setMaxBackups(1);
    haPolicy.setRequestBackup(true);
    configuration.setHAPolicyConfiguration(haPolicy);
    if (!replicated) {
        SharedStoreMasterPolicyConfiguration ssmc = new SharedStoreMasterPolicyConfiguration();
        SharedStoreSlavePolicyConfiguration sssc = new SharedStoreSlavePolicyConfiguration();
        haPolicy.setLiveConfig(ssmc);
        haPolicy.setBackupConfig(sssc);
        if (scaleDown) {
            sssc.setScaleDownConfiguration(new ScaleDownConfiguration());
        }
    } else {
        ReplicatedPolicyConfiguration rpc = new ReplicatedPolicyConfiguration();
        ReplicaPolicyConfiguration rpc2 = new ReplicaPolicyConfiguration();
        haPolicy.setLiveConfig(rpc);
        haPolicy.setBackupConfig(rpc2);
        if (scaleDown) {
            rpc2.setScaleDownConfiguration(new ScaleDownConfiguration());
        }
    }
    return configuration;
}
Also used : Configuration(org.apache.activemq.artemis.core.config.Configuration) SharedStoreMasterPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.SharedStoreMasterPolicyConfiguration) ReplicatedPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.ReplicatedPolicyConfiguration) ReplicaPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.ReplicaPolicyConfiguration) SharedStoreSlavePolicyConfiguration(org.apache.activemq.artemis.core.config.ha.SharedStoreSlavePolicyConfiguration) CoreQueueConfiguration(org.apache.activemq.artemis.core.config.CoreQueueConfiguration) ColocatedPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.ColocatedPolicyConfiguration) TransportConfiguration(org.apache.activemq.artemis.api.core.TransportConfiguration) ScaleDownConfiguration(org.apache.activemq.artemis.core.config.ScaleDownConfiguration) ArrayList(java.util.ArrayList) SharedStoreMasterPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.SharedStoreMasterPolicyConfiguration) CoreQueueConfiguration(org.apache.activemq.artemis.core.config.CoreQueueConfiguration) TransportConfiguration(org.apache.activemq.artemis.api.core.TransportConfiguration) ScaleDownConfiguration(org.apache.activemq.artemis.core.config.ScaleDownConfiguration) ColocatedPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.ColocatedPolicyConfiguration) SharedStoreSlavePolicyConfiguration(org.apache.activemq.artemis.core.config.ha.SharedStoreSlavePolicyConfiguration) ReplicatedPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.ReplicatedPolicyConfiguration) ReplicaPolicyConfiguration(org.apache.activemq.artemis.core.config.ha.ReplicaPolicyConfiguration)

Example 28 with CoreQueueConfiguration

use of org.apache.activemq.artemis.core.config.CoreQueueConfiguration in project activemq-artemis by apache.

the class PredefinedQueueTest method testDurableNonDurable.

@Test
public void testDurableNonDurable() throws Exception {
    final String testAddress = "testAddress";
    final String queueName1 = "queue1";
    final String queueName2 = "queue2";
    CoreQueueConfiguration queue1 = new CoreQueueConfiguration().setAddress(testAddress).setName(queueName1).setDurable(false);
    CoreQueueConfiguration queue2 = new CoreQueueConfiguration().setAddress(testAddress).setName(queueName2);
    List<CoreQueueConfiguration> queueConfs = new ArrayList<>();
    queueConfs.add(queue1);
    queueConfs.add(queue2);
    configuration.addQueueConfiguration(queue1).addQueueConfiguration(queue2);
    ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(configuration));
    server.start();
    ServerLocator locator = createInVMNonHALocator();
    ClientSessionFactory sf = createSessionFactory(locator);
    ClientSession session = addClientSession(sf.createSession(false, true, true));
    ClientProducer producer = session.createProducer(new SimpleString(testAddress));
    final SimpleString propKey = new SimpleString("testkey");
    final int numMessages = 1;
    PredefinedQueueTest.log.info("sending messages");
    for (int i = 0; i < numMessages; i++) {
        ClientMessage message = session.createMessage(true);
        message.putIntProperty(propKey, i);
        producer.send(message);
    }
    session.close();
    PredefinedQueueTest.log.info("stopping");
    sf.close();
    server.stop();
    server.start();
    sf = createSessionFactory(locator);
    session = addClientSession(sf.createSession(false, true, true));
    session.start();
    ClientConsumer consumer1 = session.createConsumer(queueName1);
    ClientConsumer consumer2 = session.createConsumer(queueName2);
    ClientMessage message = consumer1.receiveImmediate();
    Assert.assertNull(message);
    for (int i = 0; i < numMessages; i++) {
        message = consumer2.receive(200);
        Assert.assertNotNull(message);
        Assert.assertEquals(i, message.getObjectProperty(propKey));
        message.acknowledge();
    }
    Assert.assertNull(consumer1.receiveImmediate());
    Assert.assertNull(consumer2.receiveImmediate());
}
Also used : ArrayList(java.util.ArrayList) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) CoreQueueConfiguration(org.apache.activemq.artemis.core.config.CoreQueueConfiguration) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) ClientMessage(org.apache.activemq.artemis.api.core.client.ClientMessage) ActiveMQServer(org.apache.activemq.artemis.core.server.ActiveMQServer) ClientSession(org.apache.activemq.artemis.api.core.client.ClientSession) ClientSessionFactory(org.apache.activemq.artemis.api.core.client.ClientSessionFactory) ClientConsumer(org.apache.activemq.artemis.api.core.client.ClientConsumer) ClientProducer(org.apache.activemq.artemis.api.core.client.ClientProducer) ServerLocator(org.apache.activemq.artemis.api.core.client.ServerLocator) Test(org.junit.Test)

Example 29 with CoreQueueConfiguration

use of org.apache.activemq.artemis.core.config.CoreQueueConfiguration in project activemq-artemis by apache.

the class PredefinedQueueTest method testDeploySameNames.

@Test
public void testDeploySameNames() throws Exception {
    final String testAddress = "testAddress";
    final String queueName1 = "queue1";
    final String queueName2 = "queue2";
    CoreQueueConfiguration queue1 = new CoreQueueConfiguration().setAddress(testAddress).setName(queueName1);
    CoreQueueConfiguration queue2 = new CoreQueueConfiguration().setAddress(testAddress).setName(queueName2);
    configuration.addQueueConfiguration(queue1).addQueueConfiguration(queue2);
    ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(configuration, false));
    server.start();
    Bindings bindings = server.getPostOffice().getBindingsForAddress(new SimpleString(testAddress));
    Assert.assertEquals(2, bindings.getBindings().size());
    ServerLocator locator = createInVMNonHALocator();
    ClientSessionFactory sf = createSessionFactory(locator);
    ClientSession session = addClientSession(sf.createSession(false, true, true));
    session.start();
    ClientProducer producer = addClientProducer(session.createProducer(new SimpleString(testAddress)));
    ClientConsumer consumer1 = addClientConsumer(session.createConsumer(queueName1));
    ClientConsumer consumer2 = addClientConsumer(session.createConsumer(queueName2));
    final int numMessages = 10;
    final SimpleString propKey = new SimpleString("testkey");
    for (int i = 0; i < numMessages; i++) {
        ClientMessage message = session.createMessage(false);
        message.putIntProperty(propKey, i);
        producer.send(message);
    }
    for (int i = 0; i < numMessages; i++) {
        ClientMessage message = consumer1.receive(200);
        Assert.assertNotNull(message);
        Assert.assertEquals(i, message.getObjectProperty(propKey));
        message.acknowledge();
        message = consumer2.receive(200);
        Assert.assertNotNull(message);
        Assert.assertEquals(i, message.getObjectProperty(propKey));
        message.acknowledge();
    }
    Assert.assertNull(consumer1.receiveImmediate());
    Assert.assertNull(consumer2.receiveImmediate());
}
Also used : ActiveMQServer(org.apache.activemq.artemis.core.server.ActiveMQServer) ClientSession(org.apache.activemq.artemis.api.core.client.ClientSession) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) CoreQueueConfiguration(org.apache.activemq.artemis.core.config.CoreQueueConfiguration) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) ClientSessionFactory(org.apache.activemq.artemis.api.core.client.ClientSessionFactory) ClientMessage(org.apache.activemq.artemis.api.core.client.ClientMessage) ClientConsumer(org.apache.activemq.artemis.api.core.client.ClientConsumer) Bindings(org.apache.activemq.artemis.core.postoffice.Bindings) ClientProducer(org.apache.activemq.artemis.api.core.client.ClientProducer) ServerLocator(org.apache.activemq.artemis.api.core.client.ServerLocator) Test(org.junit.Test)

Example 30 with CoreQueueConfiguration

use of org.apache.activemq.artemis.core.config.CoreQueueConfiguration in project activemq-artemis by apache.

the class PredefinedQueueTest method testDeployWithFilter.

@Test
public void testDeployWithFilter() throws Exception {
    final String testAddress = "testAddress";
    final String queueName1 = "queue1";
    final String filter = "cheese='camembert'";
    CoreQueueConfiguration queue1 = new CoreQueueConfiguration().setAddress(testAddress).setName(queueName1).setFilterString(filter).setDurable(false);
    configuration.addQueueConfiguration(queue1);
    ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(configuration, false));
    server.start();
    ServerLocator locator = createInVMNonHALocator();
    ClientSessionFactory sf = createSessionFactory(locator);
    ClientSession session = addClientSession(sf.createSession(false, true, true));
    ClientProducer producer = session.createProducer(new SimpleString(testAddress));
    final SimpleString propKey = new SimpleString("testkey");
    final int numMessages = 1;
    PredefinedQueueTest.log.info("sending messages");
    for (int i = 0; i < numMessages; i++) {
        ClientMessage message = session.createMessage(true);
        message.putStringProperty(new SimpleString("cheese"), new SimpleString("camembert"));
        message.putIntProperty(propKey, i);
        producer.send(message);
    }
    session.start();
    ClientConsumer consumer1 = session.createConsumer(queueName1);
    for (int i = 0; i < numMessages; i++) {
        ClientMessage message = consumer1.receive(200);
        Assert.assertNotNull(message);
        Assert.assertEquals(i, message.getObjectProperty(propKey));
        message.acknowledge();
    }
    Assert.assertNull(consumer1.receiveImmediate());
    for (int i = 0; i < numMessages; i++) {
        ClientMessage message = session.createMessage(true);
        message.putStringProperty(new SimpleString("cheese"), new SimpleString("roquefort"));
        message.putIntProperty(propKey, i);
        producer.send(message);
    }
    Assert.assertNull(consumer1.receiveImmediate());
}
Also used : ActiveMQServer(org.apache.activemq.artemis.core.server.ActiveMQServer) ClientSession(org.apache.activemq.artemis.api.core.client.ClientSession) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) CoreQueueConfiguration(org.apache.activemq.artemis.core.config.CoreQueueConfiguration) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) ClientSessionFactory(org.apache.activemq.artemis.api.core.client.ClientSessionFactory) ClientMessage(org.apache.activemq.artemis.api.core.client.ClientMessage) ClientConsumer(org.apache.activemq.artemis.api.core.client.ClientConsumer) ClientProducer(org.apache.activemq.artemis.api.core.client.ClientProducer) ServerLocator(org.apache.activemq.artemis.api.core.client.ServerLocator) Test(org.junit.Test)

Aggregations

CoreQueueConfiguration (org.apache.activemq.artemis.core.config.CoreQueueConfiguration)63 ArrayList (java.util.ArrayList)40 SimpleString (org.apache.activemq.artemis.api.core.SimpleString)39 TransportConfiguration (org.apache.activemq.artemis.api.core.TransportConfiguration)39 ClientSessionFactory (org.apache.activemq.artemis.api.core.client.ClientSessionFactory)33 BridgeConfiguration (org.apache.activemq.artemis.core.config.BridgeConfiguration)32 ClientMessage (org.apache.activemq.artemis.api.core.client.ClientMessage)31 ClientProducer (org.apache.activemq.artemis.api.core.client.ClientProducer)31 Test (org.junit.Test)31 ClientConsumer (org.apache.activemq.artemis.api.core.client.ClientConsumer)30 HashMap (java.util.HashMap)26 ClientSession (org.apache.activemq.artemis.api.core.client.ClientSession)26 ActiveMQServer (org.apache.activemq.artemis.core.server.ActiveMQServer)22 ServerLocator (org.apache.activemq.artemis.api.core.client.ServerLocator)16 Configuration (org.apache.activemq.artemis.core.config.Configuration)9 Before (org.junit.Before)9 CoreAddressConfiguration (org.apache.activemq.artemis.core.config.CoreAddressConfiguration)8 Bridge (org.apache.activemq.artemis.core.server.cluster.Bridge)8 InVMAcceptorFactory (org.apache.activemq.artemis.core.remoting.impl.invm.InVMAcceptorFactory)5 ActiveMQException (org.apache.activemq.artemis.api.core.ActiveMQException)4