Search in sources :

Example 11 with ConnectionFactoryConfiguration

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

the class JMSServerManagerImpl method createConnectionFactory.

@Override
public synchronized void createConnectionFactory(final String name, final boolean ha, final JMSFactoryType cfType, final String discoveryGroupName, final String clientID, final long clientFailureCheckPeriod, final long connectionTTL, final long callTimeout, final long callFailoverTimeout, final boolean cacheLargeMessagesClient, final int minLargeMessageSize, final boolean compressLargeMessages, final int consumerWindowSize, final int consumerMaxRate, final int confirmationWindowSize, final int producerWindowSize, final int producerMaxRate, final boolean blockOnAcknowledge, final boolean blockOnDurableSend, final boolean blockOnNonDurableSend, final boolean autoGroup, final boolean preAcknowledge, final String loadBalancingPolicyClassName, final int transactionBatchSize, final int dupsOKBatchSize, final boolean useGlobalPools, final int scheduledThreadPoolMaxSize, final int threadPoolMaxSize, final long retryInterval, final double retryIntervalMultiplier, final long maxRetryInterval, final int reconnectAttempts, final boolean failoverOnInitialConnection, final String groupId, final String... registryBindings) throws Exception {
    checkInitialised();
    ActiveMQConnectionFactory cf = connectionFactories.get(name);
    if (cf == null) {
        ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl().setName(name).setHA(ha).setBindings(registryBindings).setDiscoveryGroupName(discoveryGroupName).setFactoryType(cfType).setClientID(clientID).setClientFailureCheckPeriod(clientFailureCheckPeriod).setConnectionTTL(connectionTTL).setCallTimeout(callTimeout).setCallFailoverTimeout(callFailoverTimeout).setCacheLargeMessagesClient(cacheLargeMessagesClient).setMinLargeMessageSize(minLargeMessageSize).setCompressLargeMessages(compressLargeMessages).setConsumerWindowSize(consumerWindowSize).setConsumerMaxRate(consumerMaxRate).setConfirmationWindowSize(confirmationWindowSize).setProducerWindowSize(producerWindowSize).setProducerMaxRate(producerMaxRate).setBlockOnAcknowledge(blockOnAcknowledge).setBlockOnDurableSend(blockOnDurableSend).setBlockOnNonDurableSend(blockOnNonDurableSend).setAutoGroup(autoGroup).setPreAcknowledge(preAcknowledge).setLoadBalancingPolicyClassName(loadBalancingPolicyClassName).setTransactionBatchSize(transactionBatchSize).setDupsOKBatchSize(dupsOKBatchSize).setUseGlobalPools(useGlobalPools).setScheduledThreadPoolMaxSize(scheduledThreadPoolMaxSize).setThreadPoolMaxSize(threadPoolMaxSize).setRetryInterval(retryInterval).setRetryIntervalMultiplier(retryIntervalMultiplier).setMaxRetryInterval(maxRetryInterval).setReconnectAttempts(reconnectAttempts).setFailoverOnInitialConnection(failoverOnInitialConnection);
        createConnectionFactory(true, configuration, registryBindings);
    }
}
Also used : ActiveMQConnectionFactory(org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration)

Example 12 with ConnectionFactoryConfiguration

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

the class JMSServerManagerImpl method createConnectionFactory.

@Override
public synchronized void createConnectionFactory(final String name, final boolean ha, final JMSFactoryType cfType, final List<String> connectorNames, String... registryBindings) throws Exception {
    checkInitialised();
    ActiveMQConnectionFactory cf = connectionFactories.get(name);
    if (cf == null) {
        ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl().setName(name).setHA(ha).setConnectorNames(connectorNames).setFactoryType(cfType);
        createConnectionFactory(true, configuration, registryBindings);
    }
}
Also used : ActiveMQConnectionFactory(org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration)

Example 13 with ConnectionFactoryConfiguration

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

the class JMSServerManagerImpl method createConnectionFactory.

@Override
public synchronized void createConnectionFactory(final String name, final boolean ha, final JMSFactoryType cfType, final String discoveryGroupName, final String... registryBindings) throws Exception {
    checkInitialised();
    ActiveMQConnectionFactory cf = connectionFactories.get(name);
    if (cf == null) {
        ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl().setName(name).setHA(ha).setBindings(registryBindings).setDiscoveryGroupName(discoveryGroupName);
        createConnectionFactory(true, configuration, registryBindings);
    }
}
Also used : ActiveMQConnectionFactory(org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration)

Example 14 with ConnectionFactoryConfiguration

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

the class JMSConfigurationTest method testSetupJMSConfiguration.

@Test
public void testSetupJMSConfiguration() throws Exception {
    Context context = new InVMNamingContext();
    ActiveMQServer coreServer = new ActiveMQServerImpl(createDefaultInVMConfig());
    JMSConfiguration jmsConfiguration = new JMSConfigurationImpl();
    TransportConfiguration connectorConfig = new TransportConfiguration(InVMConnectorFactory.class.getName());
    List<TransportConfiguration> transportConfigs = new ArrayList<>();
    transportConfigs.add(connectorConfig);
    ConnectionFactoryConfiguration cfConfig = new ConnectionFactoryConfigurationImpl().setName(RandomUtil.randomString()).setConnectorNames(registerConnectors(coreServer, transportConfigs)).setBindings("/cf/binding1", "/cf/binding2");
    jmsConfiguration.getConnectionFactoryConfigurations().add(cfConfig);
    JMSQueueConfigurationImpl queueConfig = new JMSQueueConfigurationImpl().setName(RandomUtil.randomString()).setDurable(false).setBindings("/queue/binding1", "/queue/binding2");
    jmsConfiguration.getQueueConfigurations().add(queueConfig);
    TopicConfiguration topicConfig = new TopicConfigurationImpl().setName(RandomUtil.randomString()).setBindings("/topic/binding1", "/topic/binding2");
    jmsConfiguration.getTopicConfigurations().add(topicConfig);
    JMSServerManager server = new JMSServerManagerImpl(coreServer, jmsConfiguration);
    server.setRegistry(new JndiBindingRegistry(context));
    server.start();
    for (String binding : cfConfig.getBindings()) {
        Object o = context.lookup(binding);
        Assert.assertNotNull(o);
        Assert.assertTrue(o instanceof ConnectionFactory);
        ConnectionFactory cf = (ConnectionFactory) o;
        Connection connection = cf.createConnection();
        connection.close();
    }
    for (String binding : queueConfig.getBindings()) {
        Object o = context.lookup(binding);
        Assert.assertNotNull(o);
        Assert.assertTrue(o instanceof Queue);
        Queue queue = (Queue) o;
        Assert.assertEquals(queueConfig.getName(), queue.getQueueName());
    }
    for (String binding : topicConfig.getBindings()) {
        Object o = context.lookup(binding);
        Assert.assertNotNull(o);
        Assert.assertTrue(o instanceof Topic);
        Topic topic = (Topic) o;
        Assert.assertEquals(topicConfig.getName(), topic.getTopicName());
    }
    server.stop();
}
Also used : InVMNamingContext(org.apache.activemq.artemis.tests.unit.util.InVMNamingContext) Context(javax.naming.Context) JMSServerManager(org.apache.activemq.artemis.jms.server.JMSServerManager) JMSConfiguration(org.apache.activemq.artemis.jms.server.config.JMSConfiguration) ArrayList(java.util.ArrayList) Connection(javax.jms.Connection) TransportConfiguration(org.apache.activemq.artemis.api.core.TransportConfiguration) JndiBindingRegistry(org.apache.activemq.artemis.core.registry.JndiBindingRegistry) TopicConfiguration(org.apache.activemq.artemis.jms.server.config.TopicConfiguration) ActiveMQServerImpl(org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl) ActiveMQServer(org.apache.activemq.artemis.core.server.ActiveMQServer) ConnectionFactory(javax.jms.ConnectionFactory) JMSServerManagerImpl(org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl) 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) InVMConnectorFactory(org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory) Topic(javax.jms.Topic) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration) Queue(javax.jms.Queue) TopicConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.TopicConfigurationImpl) InVMNamingContext(org.apache.activemq.artemis.tests.unit.util.InVMNamingContext) Test(org.junit.Test)

Example 15 with ConnectionFactoryConfiguration

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

the class ManagementActivationTest method testCreateConnectionFactory.

@Test
public void testCreateConnectionFactory() throws Exception {
    List<String> connectorNames = new ArrayList<>();
    connectorNames.add(connectorName);
    ConnectionFactoryConfiguration config = new ConnectionFactoryConfigurationImpl().setName("test").setConnectorNames(connectorNames).setBindings("/myConnectionFactory");
    backupJmsServer.createConnectionFactory(true, config, "/myConnectionFactory");
    boolean exception = false;
    try {
        context.lookup("/myConnectionFactory");
    } catch (NameNotFoundException e) {
        exception = true;
    }
    assertTrue("exception expected", exception);
    liveServer.crash();
    long timeout = System.currentTimeMillis() + 5000;
    ConnectionFactory factory = null;
    while (timeout > System.currentTimeMillis()) {
        try {
            factory = (ConnectionFactory) context.lookup("/myConnectionFactory");
        } catch (Exception ignored) {
        // ignored.printStackTrace();
        }
        if (factory == null) {
            Thread.sleep(100);
        } else {
            break;
        }
    }
    assertNotNull(factory);
}
Also used : ConnectionFactory(javax.jms.ConnectionFactory) NameNotFoundException(javax.naming.NameNotFoundException) ConnectionFactoryConfigurationImpl(org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl) ArrayList(java.util.ArrayList) ConnectionFactoryConfiguration(org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration) NameNotFoundException(javax.naming.NameNotFoundException) 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