Search in sources :

Example 6 with ConnectionFactoryConfiguration

use of org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration in project camel by apache.

the class Jms2TestSupport method configureBroker.

protected void configureBroker(EmbeddedJMS broker) throws Exception {
    Configuration configuration = new ConfigurationImpl().setPersistenceEnabled(false).setJournalDirectory("target/data/journal").setSecurityEnabled(false).addAcceptorConfiguration("connector", brokerUri + "?protocols=CORE,AMQP,HORNETQ,OPENWIRE").addAcceptorConfiguration("vm", "vm://broker").addConnectorConfiguration("connector", new TransportConfiguration(NettyConnectorFactory.class.getName()));
    JMSConfiguration jmsConfig = new JMSConfigurationImpl();
    ConnectionFactoryConfiguration cfConfig = new ConnectionFactoryConfigurationImpl().setName("cf").setConnectorNames(Arrays.asList("connector")).setBindings("cf");
    jmsConfig.getConnectionFactoryConfigurations().add(cfConfig);
    JMSQueueConfiguration queueConfig = new JMSQueueConfigurationImpl().setName("queue1").setDurable(false).setBindings("queue/queue1");
    jmsConfig.getQueueConfigurations().add(queueConfig);
    broker.setConfiguration(configuration).setJmsConfiguration(jmsConfig);
}
Also used : JMSQueueConfiguration(org.apache.activemq.artemis.jms.server.config.JMSQueueConfiguration) JMSConfiguration(org.apache.activemq.artemis.jms.server.config.JMSConfiguration) Configuration(org.apache.activemq.artemis.core.config.Configuration) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration) JMSQueueConfiguration(org.apache.activemq.artemis.jms.server.config.JMSQueueConfiguration) JMSConfiguration(org.apache.activemq.artemis.jms.server.config.JMSConfiguration) TransportConfiguration(org.apache.activemq.artemis.api.core.TransportConfiguration) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) JMSConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.JMSConfigurationImpl) JMSQueueConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.JMSQueueConfigurationImpl) TransportConfiguration(org.apache.activemq.artemis.api.core.TransportConfiguration) JMSConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.JMSConfigurationImpl) ConfigurationImpl(org.apache.activemq.artemis.core.config.impl.ConfigurationImpl) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) JMSQueueConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.JMSQueueConfigurationImpl) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration)

Example 7 with ConnectionFactoryConfiguration

use of org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration in project activemq-artemis by apache.

the class HornetQProtocolManagerTest method testLegacy2.

/**
 * This test will use an ArtemisConnectionFactory with clientProtocolManager=
 */
@Test
public void testLegacy2() throws Exception {
    ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl();
    configuration.setConnectorNames("legacy");
    configuration.setName("legacy");
    configuration.setProtocolManagerFactoryStr(HornetQClientProtocolManagerFactory.class.getName());
    embeddedJMS.getJMSServerManager().createConnectionFactory(false, configuration, "legacy");
    // WORKAROUND: the 2.0.0 broker introduced addressing change and the 2.2.0 broker added compatibility for old
    // client libraries relying on the legacy prefixes. The new client being used in this test needs prefix explicitly.
    Queue queue = new ActiveMQQueue("jms.queue.testQueue");
    ActiveMQConnectionFactory connectionFactory = (ActiveMQConnectionFactory) embeddedJMS.lookup("legacy");
    Connection connection = connectionFactory.createConnection();
    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    MessageProducer producer = session.createProducer(queue);
    TextMessage message = session.createTextMessage("Test");
    for (int i = 0; i < 5; i++) {
        message.setStringProperty(Message.HDR_DUPLICATE_DETECTION_ID.toString(), "duplicate");
        producer.send(message);
    }
    connection.start();
    MessageConsumer consumer = session.createConsumer(queue);
    TextMessage messageRec = (TextMessage) consumer.receive(5000);
    Assert.assertNotNull(messageRec);
    Assert.assertEquals("Test", messageRec.getText());
    Assert.assertNull(consumer.receiveNoWait());
    connection.close();
    connectionFactory.close();
}
Also used : ActiveMQConnectionFactory(org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory) MessageConsumer(javax.jms.MessageConsumer) HornetQClientProtocolManagerFactory(org.apache.activemq.artemis.core.protocol.hornetq.client.HornetQClientProtocolManagerFactory) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) Connection(javax.jms.Connection) ActiveMQQueue(org.apache.activemq.artemis.jms.client.ActiveMQQueue) MessageProducer(javax.jms.MessageProducer) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration) ActiveMQQueue(org.apache.activemq.artemis.jms.client.ActiveMQQueue) Queue(javax.jms.Queue) TextMessage(javax.jms.TextMessage) Session(javax.jms.Session) ClientSession(org.apache.activemq.artemis.api.core.client.ClientSession) Test(org.junit.Test)

Example 8 with ConnectionFactoryConfiguration

use of org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration in project activemq-artemis by apache.

the class JMSConnectionFactoryConfigurationStorageTest method testSettingsWithConnectorConfigs.

@Test
public void testSettingsWithConnectorConfigs() throws Exception {
    createJMSStorage();
    String[] str = new String[5];
    for (int i = 0; i < 5; i++) {
        str[i] = "str" + i;
    }
    List<String> connectorConfigs = new ArrayList<>();
    Map<String, Object> liveParams = new HashMap<>();
    liveParams.put(TransportConstants.PORT_PROP_NAME, 5665);
    Map<String, Object> backupParams = new HashMap<>();
    backupParams.put(TransportConstants.PORT_PROP_NAME, 5775);
    Map<String, Object> liveParams2 = new HashMap<>();
    liveParams2.put(TransportConstants.PORT_PROP_NAME, 6665);
    ConnectionFactoryConfiguration config = new ConnectionFactoryConfigurationImpl().setName("some-name").setConnectorNames(connectorConfigs).setBindings(str).setCallTimeout(RandomUtil.randomPositiveLong());
    List<Pair<String, String>> connectors = new ArrayList<>();
    connectors.add(new Pair<String, String>(RandomUtil.randomString(), null));
    // config.setConnectorNames(connectors);
    addSetting(new PersistedConnectionFactory(config));
    jmsJournal.stop();
    createJMSStorage();
    List<PersistedConnectionFactory> cfs = jmsJournal.recoverConnectionFactories();
    assertEquals(1, cfs.size());
    assertEquals("some-name", cfs.get(0).getName());
    assertEquals(config.getCallTimeout(), cfs.get(0).getConfig().getCallTimeout());
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) PersistedConnectionFactory(org.apache.activemq.artemis.jms.persistence.config.PersistedConnectionFactory) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration) Pair(org.apache.activemq.artemis.api.core.Pair) Test(org.junit.Test)

Example 9 with ConnectionFactoryConfiguration

use of org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration in project activemq-artemis by apache.

the class JMSConnectionFactoryConfigurationStorageTest method testSizeOfCF.

@Test
public void testSizeOfCF() throws Exception {
    String[] str = new String[5];
    for (int i = 0; i < 5; i++) {
        str[i] = "str" + i;
    }
    ConnectionFactoryConfiguration config = new ConnectionFactoryConfigurationImpl().setName("some-name").setConnectorNames(new ArrayList<String>()).setBindings("");
    int size = config.getEncodeSize();
    ActiveMQBuffer buffer = ActiveMQBuffers.fixedBuffer(size);
    config.encode(buffer);
    assertEquals(size, buffer.writerIndex());
    PersistedConnectionFactory persistedCF = new PersistedConnectionFactory(config);
    size = persistedCF.getEncodeSize();
    buffer = ActiveMQBuffers.fixedBuffer(size);
    persistedCF.encode(buffer);
    assertEquals(size, buffer.writerIndex());
}
Also used : PersistedConnectionFactory(org.apache.activemq.artemis.jms.persistence.config.PersistedConnectionFactory) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) ArrayList(java.util.ArrayList) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration) ActiveMQBuffer(org.apache.activemq.artemis.api.core.ActiveMQBuffer) Test(org.junit.Test)

Example 10 with ConnectionFactoryConfiguration

use of org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration in project activemq-artemis by apache.

the class JMSConnectionFactoryConfigurationStorageTest method testSettings.

@Test
public void testSettings() throws Exception {
    createJMSStorage();
    List<String> transportConfigs = new ArrayList<>();
    for (int i = 0; i < 5; i++) {
        transportConfigs.add("c1-" + i);
        transportConfigs.add("c2-" + i);
    }
    ConnectionFactoryConfiguration config = new ConnectionFactoryConfigurationImpl().setName("some-name").setConnectorNames(transportConfigs);
    addSetting(new PersistedConnectionFactory(config));
    jmsJournal.stop();
    createJMSStorage();
    List<PersistedConnectionFactory> cfs = jmsJournal.recoverConnectionFactories();
    assertEquals(1, cfs.size());
    assertEquals("some-name", cfs.get(0).getName());
    PersistedConnectionFactory cf1 = cfs.get(0);
    assertEquals(10, cf1.getConfig().getConnectorNames().size());
    List<String> configs = cf1.getConfig().getConnectorNames();
    for (int i = 0, j = 0; i < 10; i += 2, j++) {
        assertEquals(configs.get(i), "c1-" + j);
        assertEquals(configs.get(i + 1), "c2-" + j);
    }
}
Also used : PersistedConnectionFactory(org.apache.activemq.artemis.jms.persistence.config.PersistedConnectionFactory) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) ArrayList(java.util.ArrayList) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration) Test(org.junit.Test)

Aggregations

ConnectionFactoryConfiguration (org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration)20 ConnectionFactoryConfigurationImpl (org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl)17 ArrayList (java.util.ArrayList)8 Test (org.junit.Test)7 TransportConfiguration (org.apache.activemq.artemis.api.core.TransportConfiguration)5 ActiveMQConnectionFactory (org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory)5 HashMap (java.util.HashMap)3 PersistedConnectionFactory (org.apache.activemq.artemis.jms.persistence.config.PersistedConnectionFactory)3 JMSConfiguration (org.apache.activemq.artemis.jms.server.config.JMSConfiguration)3 JMSConfigurationImpl (org.apache.activemq.artemis.jms.server.config.impl.JMSConfigurationImpl)3 JMSQueueConfigurationImpl (org.apache.activemq.artemis.jms.server.config.impl.JMSQueueConfigurationImpl)3 Connection (javax.jms.Connection)2 ConnectionFactory (javax.jms.ConnectionFactory)2 Queue (javax.jms.Queue)2 JMSFactoryType (org.apache.activemq.artemis.api.jms.JMSFactoryType)2 JndiBindingRegistry (org.apache.activemq.artemis.core.registry.JndiBindingRegistry)2 JMSServerManagerImpl (org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl)2 InVMNamingContext (org.apache.activemq.artemis.tests.unit.util.InVMNamingContext)2 ModelNode (org.jboss.dmr.ModelNode)2 ServiceName (org.jboss.msc.service.ServiceName)2