@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); } }
@Override public ConnectionFactoryConfiguration setConnectorNames(final String... names) { return this.setConnectorNames(Arrays.asList(names)); }
@Override public void decode(final ActiveMQBuffer buffer) { config = new ConnectionFactoryConfigurationImpl(); config.decode(buffer); }
private void configureConnectionFactory() { ConnectionFactoryConfiguration cfConfig = new ConnectionFactoryConfigurationImpl(); cfConfig.setName("cf").setConnectorNames(singletonList("connector")).setBindings("/cf"); cfConfig.setClientFailureCheckPeriod(Long.MAX_VALUE); cfConfig.setConnectionTTL(-1); cfConfig.setReconnectAttempts(-1); cfConfig.setCompressLargeMessages(true); cfConfig.setMinLargeMessageSize(MIN_LARGE_MESSAGE_SIZE); jmsConfig.getConnectionFactoryConfigurations().add(cfConfig); }
@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); } }
private void configureConnectionFactory() { ConnectionFactoryConfiguration cfConfig = new ConnectionFactoryConfigurationImpl(); cfConfig.setName("cf").setConnectorNames(singletonList("connector")).setBindings("/cf"); cfConfig.setClientFailureCheckPeriod(Long.MAX_VALUE); cfConfig.setConnectionTTL(-1); cfConfig.setReconnectAttempts(-1); cfConfig.setCompressLargeMessages(true); cfConfig.setMinLargeMessageSize(MIN_LARGE_MESSAGE_SIZE); jmsConfig.getConnectionFactoryConfigurations().add(cfConfig); }
@Given("^Start Event Broker$") public void start() { if (NO_EMBEDDED_SERVERS) { return; } System.setProperty(SystemSettingKey.EVENT_BUS_URL.key(), "amqp://127.0.0.1:5672"); database.setup(); logger.info("Starting new instance of Event Broker"); try { //start Artemis embedded Configuration configuration = new ConfigurationImpl(); configuration.setPersistenceEnabled(false); configuration.setJournalDirectory(DEFAULT_DATA_DIRECTORY); configuration.setSecurityEnabled(false); configuration.addAcceptorConfiguration("amqp", "tcp://127.0.0.1:5672?protocols=AMQP"); configuration.addConnectorConfiguration("connector", "tcp://127.0.0.1:5672"); JMSConfiguration jmsConfig = new JMSConfigurationImpl(); ConnectionFactoryConfiguration cfConfig = new ConnectionFactoryConfigurationImpl().setName("cf").setConnectorNames(Arrays.asList("connector")).setBindings("cf"); jmsConfig.getConnectionFactoryConfigurations().add(cfConfig); jmsServer = new EmbeddedJMS().setConfiguration(configuration).setJmsConfiguration(jmsConfig).start(); if (EXTRA_STARTUP_DELAY > 0) { Thread.sleep(Duration.ofSeconds(EXTRA_STARTUP_DELAY).toMillis()); } } catch (RuntimeException e) { throw e; } catch (Exception e) { logger.error("Failed to start Event Broker", e); } }
/** * @param cfName the unique ConnectionFactory's name * @param connectorConfigs initial static connectors' config * @param jndiBindings JNDI binding names for the CF * @throws Exception */ protected void createCF(final String cfName, final List<TransportConfiguration> connectorConfigs, final String... jndiBindings) throws Exception { List<String> connectorNames = registerConnectors(server, connectorConfigs); ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl().setName(cfName).setConnectorNames(connectorNames).setRetryInterval(1000).setReconnectAttempts(-1); testCaseCfExtraConfig(configuration); jmsServer.createConnectionFactory(false, configuration, jndiBindings); }
@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); }
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));
@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); } }
@Test public void testStart() throws Exception { ArrayList<String> connectors = new ArrayList<>(); connectors.add("invm"); ConnectionFactoryConfiguration cfg = new ConnectionFactoryConfigurationImpl().setName("tst").setConnectorNames(connectors).setBindings("tt"); jmsServer.createConnectionFactory(true, cfg, "tst"); assertNotNull(namingContext.lookup("tst")); jmsServer.removeConnectionFactoryFromBindingRegistry("tst"); try { namingContext.lookup("tst"); fail("failure expected"); } catch (NamingException excepted) { } jmsServer.stop(); OperationContextImpl.clearContext(); jmsServer.start(); try { namingContext.lookup("tst"); fail("failure expected"); } catch (NamingException excepted) { } }
@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()); }
private void createStaticFactory(boolean b) throws Exception { HashMap<String, Object> params = new HashMap<>(); Set<String> allowableConnectorKeys = TransportConstants.ALLOWABLE_CONNECTOR_KEYS; for (String allowableConnectorKey : allowableConnectorKeys) { String value = RandomUtil.randomString(); params.put(allowableConnectorKey, value); } params.put("host", "localhost0"); params.put("port", "1234"); TransportConfiguration main = new TransportConfiguration(NETTY_CONNECTOR_FACTORY, params); jmsServer.getActiveMQServer().getConfiguration().getConnectorConfigurations().put(main.getName(), main); HashMap<String, Object> params2 = new HashMap<>(); for (String allowableConnectorKey : allowableConnectorKeys) { String value = RandomUtil.randomString(); params2.put(allowableConnectorKey, value); } params2.put("host", "localhost1"); params2.put("port", "5678"); TransportConfiguration main2 = new TransportConfiguration(NETTY_CONNECTOR_FACTORY, params2); jmsServer.getActiveMQServer().getConfiguration().getConnectorConfigurations().put(main2.getName(), main2); ArrayList<String> connectorNames = new ArrayList<>(); connectorNames.add(main.getName()); connectorNames.add(main2.getName()); ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl().setName("MyConnectionFactory").setHA(b).setConnectorNames(connectorNames).setClientID("clientID").setClientFailureCheckPeriod(-1).setConnectionTTL(-2).setFactoryType(JMSFactoryType.CF).setCallTimeout(-3).setCallFailoverTimeout(-4).setCacheLargeMessagesClient(b).setMinLargeMessageSize(-5).setConsumerWindowSize(-6).setConsumerMaxRate(-7).setConfirmationWindowSize(-8).setProducerWindowSize(-9).setProducerMaxRate(-10).setBlockOnAcknowledge(b).setBlockOnDurableSend(b).setBlockOnNonDurableSend(b).setAutoGroup(b).setPreAcknowledge(b).setLoadBalancingPolicyClassName("foobar").setTransactionBatchSize(-11).setDupsOKBatchSize(-12).setUseGlobalPools(b).setScheduledThreadPoolMaxSize(-13).setThreadPoolMaxSize(-14).setRetryInterval(-15).setRetryIntervalMultiplier(-16).setMaxRetryInterval(-17).setReconnectAttempts(-18).setFailoverOnInitialConnection(b).setGroupID("groupID") .setInitialMessagePacketSize(1499); jmsServer.createConnectionFactory(false, configuration, "/MyConnectionFactory"); }
ConnectionFactoryConfigurationImpl factCFG = (ConnectionFactoryConfigurationImpl) new ConnectionFactoryConfigurationImpl().setName("tst").setConnectorNames(transportConfigurations); ConnectionFactoryConfigurationImpl nonPersisted = (ConnectionFactoryConfigurationImpl) new ConnectionFactoryConfigurationImpl().setName("np").setConnectorNames(transportConfigurations);
transportConfigs.add(connectorConfig); ConnectionFactoryConfiguration cfConfig = new ConnectionFactoryConfigurationImpl().setName(RandomUtil.randomString()).setConnectorNames(registerConnectors(coreServer, transportConfigs)).setBindings("/cf/binding1", "/cf/binding2");
ActiveMQConnectionFactory cf = connectionFactories.get(name); if (cf == null) { ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl().setName(name).setHA(ha).setConnectorNames(connectorNames).setClientID(clientID).setClientFailureCheckPeriod(clientFailureCheckPeriod).setConnectionTTL(connectionTTL).setFactoryType(cfType).setCallTimeout(callTimeout).setCallFailoverTimeout(callFailoverTimeout).setCacheLargeMessagesClient(cacheLargeMessagesClient).setMinLargeMessageSize(minLargeMessageSize).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).setGroupID(groupId); 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);
final ConnectionFactoryConfiguration config = new ConnectionFactoryConfigurationImpl() .setName(name) .setHA(false) .setBindings(entries.toArray(new String[entries.size()]));
final ConnectionFactoryConfiguration config = new ConnectionFactoryConfigurationImpl() .setName(name) .setHA(ActiveMQClient.DEFAULT_HA) .setBindings(entries.toArray(new String[entries.size()]));
transportConfigurations.add("tst"); ConnectionFactoryConfigurationImpl factCFG = (ConnectionFactoryConfigurationImpl) new ConnectionFactoryConfigurationImpl().setName("tst").setConnectorNames(transportConfigurations);