public static ActiveMQServer newActiveMQServer(final Configuration config, final MBeanServer mbeanServer, final ActiveMQSecurityManager securityManager, final boolean enablePersistence) { config.setPersistenceEnabled(enablePersistence); ActiveMQServer server = new ActiveMQServerImpl(config, mbeanServer, securityManager); return server; }
private void configureAcceptor() { config.setPersistenceEnabled(true); config.setSecurityEnabled(false); config.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName())); config.getConnectorConfigurations().put("connector", new TransportConfiguration(InVMConnectorFactory.class.getName())); }
private void configureAcceptor() { config.setPersistenceEnabled(true); config.setSecurityEnabled(false); config.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName())); config.getConnectorConfigurations().put("connector", new TransportConfiguration(InVMConnectorFactory.class.getName())); }
@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); } }
@PostConstruct public void start() throws Exception { String port = Systems.getEnvVarOrSystemProperty("AMQ_PORT", "AMQ_PORT", "61616"); HashMap<String, Object> configMap = new HashMap<>(); configMap.put("host", "0.0.0.0"); configMap.put("port", port); TransportConfiguration transportConfiguration = new TransportConfiguration(NettyAcceptorFactory.class.getName(), configMap, "artemis"); Configuration configuration = new ConfigurationImpl().setJournalDirectory(DATA_ROOT + "journal-directory"); if (isPersistent()) { configuration.setBindingsDirectory(DATA_ROOT + "bindings"); configuration.setLargeMessagesDirectory(DATA_ROOT + "largemessages"); configuration.setPagingDirectory(DATA_ROOT + "paging"); configuration.setCreateJournalDir(true); configuration.setCreateBindingsDir(true); waitForVolume(); }else{ configuration.setPersistenceEnabled(false); } configuration.setSecurityEnabled(false); configuration.addAcceptorConfiguration(transportConfiguration); JMSConfiguration jmsConfig = new JMSConfigurationImpl(); broker = new EmbeddedJMS(); broker.setConfiguration(configuration); broker.setJmsConfiguration(jmsConfig); broker.start(); LOG.info("Artemis Message Broker initialized and running ..."); }
@Override protected void addConfiguration(ActiveMQServer server) { server.getConfiguration().setPersistenceEnabled(false); server.getAddressSettingsRepository().addMatch(NORMAL_QUEUE_NAME, new AddressSettings()); }
ActiveMQSecurityManager securityManager = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), new SecurityConfiguration()); conf.setPersistenceEnabled(true);
ActiveMQSecurityManager securityManager = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), new SecurityConfiguration()); conf.setPersistenceEnabled(true);
public static ActiveMQServer startServer() throws Exception { if (server == null) { Configuration config = new ConfigurationImpl().addAcceptorConfiguration("netty", "tcp://localhost:61616").setSecurityEnabled(false).addConnectorConfiguration("netty", "tcp://localhost:61616"); File dataPlace = new File("./target/dataJoram"); FileUtil.deleteDirectory(dataPlace); config.setJournalDirectory(new File(dataPlace, "./journal").getAbsolutePath()). setPagingDirectory(new File(dataPlace, "./paging").getAbsolutePath()). setLargeMessagesDirectory(new File(dataPlace, "./largemessages").getAbsolutePath()). setBindingsDirectory(new File(dataPlace, "./bindings").getAbsolutePath()).setPersistenceEnabled(true); // disable server persistence since JORAM tests do not restart server server = ActiveMQServers.newActiveMQServer(config, useFiles); // set DLA and expiry to avoid spamming the log with warnings server.getAddressSettingsRepository().addMatch("#", new AddressSettings().setDeadLetterAddress(SimpleString.toSimpleString("DLA")).setExpiryAddress(SimpleString.toSimpleString("Expiry"))); server.start(); } return server; }
protected ActiveMQServer createColocatedInVMFailoverServer(final boolean realFiles, final Configuration configuration, final int pageSize, final int maxAddressSize, final Map<String, AddressSettings> settings, NodeManager liveNodeManager, NodeManager backupNodeManager, final int id) { ActiveMQServer server; ActiveMQSecurityManager securityManager = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), new SecurityConfiguration()); configuration.setPersistenceEnabled(realFiles); server = new ColocatedActiveMQServer(configuration, ManagementFactory.getPlatformMBeanServer(), securityManager, liveNodeManager, backupNodeManager); try { server.setIdentity("Server " + id); for (Map.Entry<String, AddressSettings> setting : settings.entrySet()) { server.getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue()); } AddressSettings defaultSetting = new AddressSettings(); defaultSetting.setPageSizeBytes(pageSize); defaultSetting.setMaxSizeBytes(maxAddressSize); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; } finally { addServer(server); } }
protected ActiveMQServer createInVMFailoverServer(final boolean realFiles, final Configuration configuration, final int pageSize, final int maxAddressSize, final Map<String, AddressSettings> settings, NodeManager nodeManager, final int id) { ActiveMQServer server; ActiveMQSecurityManager securityManager = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), new SecurityConfiguration()); configuration.setPersistenceEnabled(realFiles); server = addServer(new InVMNodeManagerServer(configuration, ManagementFactory.getPlatformMBeanServer(), securityManager, nodeManager)); try { server.setIdentity("Server " + id); for (Map.Entry<String, AddressSettings> setting : settings.entrySet()) { server.getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue()); } AddressSettings defaultSetting = new AddressSettings(); defaultSetting.setPageSizeBytes(pageSize); defaultSetting.setMaxSizeBytes(maxAddressSize); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; } finally { addServer(server); } }
@Override @Before public void setUp() throws Exception { super.setUp(); server = createServer(false, createDefaultInVMConfig().addAddressesSetting("#", new AddressSettings().setDeadLetterAddress(new SimpleString("dlq")).setExpiryAddress(new SimpleString("dlq")))); server.getConfiguration().setPersistenceEnabled(true); }
private void configureBeforeStart(Configuration... serverConfigs) { for (Configuration config : serverConfigs) { config.setPersistenceEnabled(true); config.setMessageCounterEnabled(true); config.setJournalFileSize(20971520); config.setJournalMinFiles(20); config.setJournalCompactPercentage(50); Map<String, AddressSettings> addressSettingsMap0 = config.getAddressesSettings(); AddressSettings addrSettings = addressSettingsMap0.get("#"); if (addrSettings == null) { addrSettings = new AddressSettings(); addressSettingsMap0.put("#", addrSettings); } addrSettings.setDeadLetterAddress(new SimpleString("jms.queue.DLQ")); addrSettings.setExpiryAddress(new SimpleString("jms.queue.ExpiryQueue")); addrSettings.setRedeliveryDelay(30); addrSettings.setMaxDeliveryAttempts(5); addrSettings.setMaxSizeBytes(1048576); addrSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); addrSettings.setPageSizeBytes(524288); addrSettings.setMessageCounterHistoryDayLimit(10); addrSettings.setRedistributionDelay(1000); } }
/** * @return */ protected Configuration createConfigServer(final int source, final int destination) throws Exception { final String destinationLabel = "toServer" + destination; final String sourceLabel = "server" + source; Configuration configuration = createDefaultInVMConfig(source).setSecurityEnabled(false) .setJMXManagementEnabled(true) .setPersistenceEnabled(false) .addConnectorConfiguration(destinationLabel, new TransportConfiguration(InVMConnectorFactory.class.getName(), generateInVMParams(destination))) .addConnectorConfiguration(sourceLabel, new TransportConfiguration(InVMConnectorFactory.class.getName(), generateInVMParams(source))) .addClusterConfiguration(new ClusterConnectionConfiguration().setName(destinationLabel) .setConnectorName(sourceLabel) .setRetryInterval(250) .setMaxHops(MAX_HOPS) .setConfirmationWindowSize(1024) .setMessageLoadBalancingType(MessageLoadBalancingType.ON_DEMAND) .setStaticConnectors(new ArrayList<String>() { { add(destinationLabel); } })); configuration.getAddressesSettings().put("#", new AddressSettings().setRedistributionDelay(0)); return configuration; }
Configuration createConfig(String folder) throws Exception { Configuration configuration = createDefaultConfig(true); configuration.setSecurityEnabled(false).setJournalMinFiles(2).setJournalFileSize(100 * 1024).setJournalType(getDefaultJournalType()).setJournalDirectory(folder + "/journal").setBindingsDirectory(folder + "/bindings").setPagingDirectory(folder + "/paging"). setLargeMessagesDirectory(folder + "/largemessage").setJournalCompactMinFiles(0).setJournalCompactPercentage(0).setClusterPassword(CLUSTER_PASSWORD).setJournalDatasync(false); configuration.setSecurityEnabled(false); configuration.setPersistenceEnabled(true); return configuration; }
Configuration createConfig(String folder) throws Exception { Configuration configuration = createDefaultConfig(true); configuration.setSecurityEnabled(false).setJournalMinFiles(2).setJournalFileSize(100 * 1024).setJournalType(getDefaultJournalType()).setJournalDirectory(folder + "/journal").setBindingsDirectory(folder + "/bindings").setPagingDirectory(folder + "/paging"). setLargeMessagesDirectory(folder + "/largemessage").setJournalCompactMinFiles(0).setJournalCompactPercentage(0).setClusterPassword(CLUSTER_PASSWORD).setJournalDatasync(false); configuration.setSecurityEnabled(false); configuration.setPersistenceEnabled(true); return configuration; }
@Override protected void addConfiguration(ActiveMQServer server) { server.getConfiguration().setPersistenceEnabled(false); server.getConfiguration().setMessageExpiryScanPeriod(1000); server.getAddressSettingsRepository().addMatch(NORMAL_QUEUE_NAME, new AddressSettings()); server.getAddressSettingsRepository().addMatch(LVQ_QUEUE_NAME, new AddressSettings().setDefaultLastValueQueue(true)); server.getAddressSettingsRepository().addMatch(LVQ_CUSTOM_KEY_QUEUE_NAME, new AddressSettings().setDefaultLastValueQueue(true).setDefaultLastValueKey(SimpleString.toSimpleString(CUSTOM_KEY))); }
@Test public void testHang() throws Exception { Configuration configuration = createDefaultInVMConfig().setPersistenceEnabled(false); server = addServer(ActiveMQServers.newActiveMQServer(configuration)); server.start(); server.getRemotingService().addIncomingInterceptor(new AckInterceptor(server)); // Force an ack at once - this means the send call will block locator.setConfirmationWindowSize(1); ClientSessionFactory clientSessionFactory = createSessionFactory(locator); ClientSession session = clientSessionFactory.createSession(); session.setSendAcknowledgementHandler(new SendAcknowledgementHandler() { @Override public void sendAcknowledged(final Message message) { ackReceived = true; } }); ClientProducer producer = session.createProducer("fooQueue"); ClientMessage msg = session.createMessage(false); msg.putStringProperty("someKey", "someValue"); producer.send(msg); Thread.sleep(250); Assert.assertFalse(ackReceived); session.close(); }
@Override protected void addConfiguration(ActiveMQServer server) { server.getConfiguration().setPersistenceEnabled(false); server.getConfiguration().setMessageExpiryScanPeriod(100); server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_QUEUE_NAME, new AddressSettings().setDefaultNonDestructive(true)); server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_EXPIRY_QUEUE_NAME, new AddressSettings().setDefaultNonDestructive(true).setExpiryDelay(100L)); server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_LVQ_QUEUE_NAME, new AddressSettings().setDefaultLastValueQueue(true).setDefaultNonDestructive(true)); server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_TOMBSTONE_LVQ_QUEUE_NAME, new AddressSettings().setDefaultLastValueQueue(true).setDefaultNonDestructive(true)); } @Override
session.close(); server.stop(); server.getConfiguration().setPersistenceEnabled(true);