final AddressSettings addressSetting = new AddressSettings(); addressSetting.setMaxSizeBytes(10 * 1024 * 1024); // 10 MB addressSetting.setPageSizeBytes(1024 * 1024); // 1 MB server.getPagingManager().getPageStore(new SimpleString(addressName)) .applySetting(addressSetting);
final Configuration hornetConfig = new ConfigurationImpl(); // other configuration... final AddressSettings addressSetting = new AddressSettings(); addressSetting.setMaxSizeBytes(10 * 1024 * 1024); // 10 MB addressSetting.setPageSizeBytes(1024 * 1024); // 1 MB final Map<String, AddressSettings> addressing = new HashMap<String, AddressSettings>(); addressing.put("#", addressSetting); // the # pattern matches all addresses hornetConfig.setAddressesSettings(addressing);
private void configurePaging() { AddressSettings addressSettings = new AddressSettings(); addressSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); addressSettings.setMaxSizeBytes(30 * 1024 * 1024L); addressSettings.setPageSizeBytes(10 * 1024 * 1024L); addressSettings.setPageCacheMaxSize(20); config.getAddressesSettings().put("jms.queue.*", addressSettings); }
private void configurePaging() { AddressSettings addressSettings = new AddressSettings(); addressSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); addressSettings.setMaxSizeBytes(30 * 1024 * 1024L); addressSettings.setPageSizeBytes(10 * 1024 * 1024L); addressSettings.setPageCacheMaxSize(20); config.getAddressesSettings().put("jms.queue.*", addressSettings); }
@Override protected ActiveMQServer createInVMFailoverServer(final boolean realFiles, final Configuration configuration, final NodeManager nodeManager, int id) { Map<String, AddressSettings> conf = new HashMap<>(); AddressSettings as = new AddressSettings().setMaxSizeBytes(PAGE_MAX).setPageSizeBytes(PAGE_SIZE).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); conf.put(ADDRESS.toString(), as); return createInVMFailoverServer(realFiles, configuration, PAGE_SIZE, PAGE_MAX, conf, nodeManager, id); }
@Override protected ConfigurationImpl createBasicConfig(final int serverID) { ConfigurationImpl config = super.createBasicConfig(serverID); Map<String, AddressSettings> addrSettingsMap = config.getAddressesSettings(); AddressSettings addrSettings = new AddressSettings(); addrSettings.setMaxSizeBytes(10 * 1024); addrSettings.setPageSizeBytes(5 * 1024); addrSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); addrSettingsMap.put("queues", addrSettings); if (serverID == 1) { config.setMessageCounterEnabled(true); } return config; }
@Override @Before public void setUp() throws Exception { super.setUp(); executor = Executors.newCachedThreadPool(ActiveMQThreadFactory.defaultThreadFactory()); server = createServer(createBasicConfig() .setPersistenceEnabled(false) .setAddressesSettings(Collections.singletonMap("#", new AddressSettings() .setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE) .setPageSizeBytes(50000) .setMaxSizeBytes(404850))) .setAcceptorConfigurations(Collections.singleton(new TransportConfiguration(NettyAcceptorFactory.class.getName())))); server.start(); cf = ActiveMQJMSClient.createConnectionFactory("tcp://127.0.0.1:61616", "cf"); queue = ActiveMQJMSClient.createQueue("simple"); barrierLatch = new CyclicBarrier(PRODUCERS + 1); runnersLatch = new CountDownLatch(PRODUCERS + 1); msgReceived = new AtomicLong(0); msgSent = new AtomicLong(0); }
protected ActiveMQServer createServer(final boolean realFiles, final Configuration configuration, final long pageSize, final long maxAddressSize, final Map<String, AddressSettings> settings) { ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(configuration, realFiles)); if (settings != null) { for (Map.Entry<String, AddressSettings> setting : settings.entrySet()) { server.getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue()); } } AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(pageSize).setMaxSizeBytes(maxAddressSize).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; }
private ActiveMQServer newActiveMQServer() throws Exception { ActiveMQServer server = createServer(true, isNetty()); AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(10 * 1024).setMaxSizeBytes(20 * 1024); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; }
private ActiveMQServer newActiveMQServer() throws Exception { OperationContextImpl.clearContext(); ActiveMQServer server = super.createServer(true, false); AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(10 * 1024).setMaxSizeBytes(20 * 1024); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; }
@Override protected ActiveMQServer createServer(final boolean realFiles, final Configuration configuration, final long pageSize, final long maxAddressSize, final Map<String, AddressSettings> settings) { ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(configuration, realFiles)); if (settings != null) { for (Map.Entry<String, AddressSettings> setting : settings.entrySet()) { server.getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue()); } } server.getConfiguration().setGlobalMaxSize(maxAddressSize); AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(pageSize).setMaxSizeBytes(-1).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; }
@Override @Before public void setUp() throws Exception { super.setUp(); topic1 = createTopic("topic1"); // Paging Setting AddressSettings setting = new AddressSettings().setPageSizeBytes(JMSPagingFileDeleteTest.PAGE_SIZE).setMaxSizeBytes(JMSPagingFileDeleteTest.PAGE_MAX); server.getAddressSettingsRepository().addMatch("#", setting); }
@Test public void testBlockLogging() throws Exception { final int MAX_MESSAGES = 200; final String MY_ADDRESS = "myAddress"; final String MY_QUEUE = "myQueue"; ActiveMQServer server = createServer(false); AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(10 * 1024).setMaxSizeBytes(20 * 1024).setAddressFullMessagePolicy(AddressFullMessagePolicy.BLOCK); server.getAddressSettingsRepository().addMatch("#", defaultSetting); server.start(); internalTest(MAX_MESSAGES, MY_ADDRESS, MY_QUEUE, server); }
@Override protected ActiveMQServer createServer(final boolean realFiles, final Configuration configuration, final long pageSize, final long maxAddressSize, final Map<String, AddressSettings> settings) { DivertConfiguration divertConf = new DivertConfiguration().setName("notifications-divert").setAddress("*.Provider.*.Agent.*.Status").setForwardingAddress("Notifications").setExclusive(true); configuration.addDivertConfiguration(divertConf); ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(configuration, realFiles)); if (settings != null) { for (Map.Entry<String, AddressSettings> setting : settings.entrySet()) { server.getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue()); } } AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(pageSize).setRedeliveryDelay(0).setMaxSizeBytes(maxAddressSize).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE).setRedistributionDelay(0).setAutoCreateQueues(true).setAutoCreateAddresses(true); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; }
@Before @Override public void setUp() throws Exception { super.setUp(); server = createServer(true, isNetty); AddressSettings addressSettings = new AddressSettings(); addressSettings.setSlowConsumerCheckPeriod(1); addressSettings.setSlowConsumerThreshold(threshold); addressSettings.setSlowConsumerPolicy(SlowConsumerPolicy.KILL); if (isPaging) { addressSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); addressSettings.setMaxSizeBytes(10 * 1024); addressSettings.setPageSizeBytes(1024); } else { addressSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.BLOCK); addressSettings.setMaxSizeBytes(-1); addressSettings.setPageSizeBytes(1024); } server.start(); server.getAddressSettingsRepository().addMatch(QUEUE.toString(), addressSettings); server.createQueue(QUEUE, RoutingType.ANYCAST, QUEUE, null, true, false).getPageSubscription().getPagingStore().startPaging(); locator = createFactory(isNetty); }
@Test public void testRestartPage() throws Throwable { clearDataRecreateServerDirs(); SequentialFileFactory factory = new NIOSequentialFileFactory(new File(getPageDir()), 1); PagingStoreFactory storeFactory = new FakeStoreFactory(factory); final int MAX_SIZE = 1024 * 10; AddressSettings settings = new AddressSettings().setPageSizeBytes(MAX_SIZE).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); final PagingStore storeImpl = new PagingStoreImpl(PagingStoreImplTest.destinationTestName, null, 100, createMockManager(), createStorageManagerMock(), factory, storeFactory, new SimpleString("test"), settings, getExecutorFactory().getExecutor(), true); storeImpl.start(); Assert.assertEquals(0, storeImpl.getNumberOfPages()); // Marked the store to be paged storeImpl.startPaging(); storeImpl.depage(); Assert.assertNull(storeImpl.getCurrentPage()); storeImpl.startPaging(); Assert.assertNotNull(storeImpl.getCurrentPage()); storeImpl.stop(); }
@Override @Before public void setUp() throws Exception { super.setUp(); server = createServer(true); AddressSettings setting = new AddressSettings().setExpiryAddress(SimpleString.toSimpleString("exp")).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE).setPageSizeBytes(100 * 1024).setMaxSizeBytes(200 * 1024); server.getConfiguration().setJournalSyncNonTransactional(false); server.getConfiguration().setMessageExpiryScanPeriod(-1); server.getConfiguration().setJournalSyncTransactional(false); server.getAddressSettingsRepository().addMatch("#", setting); server.start(); }
@Override @Before public void setUp() throws Exception { super.setUp(); Configuration config = createDefaultInVMConfig().setJMXManagementEnabled(true); server = addServer(ActiveMQServers.newActiveMQServer(config, mbeanServer, true)); AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(5120).setMaxSizeBytes(10240).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); server.getAddressSettingsRepository().addMatch("#", defaultSetting); server.start(); locator = createInVMNonHALocator().setBlockOnNonDurableSend(false).setConsumerWindowSize(0); ClientSessionFactory sf = createSessionFactory(locator); session1 = sf.createSession(false, true, false); session1.start(); session2 = sf.createSession(false, true, false); session2.start(); }
@Test public void testGetNumberOfBytesPerPage() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); session.createQueue(address, address, true); AddressControl addressControl = createManagementControl(address); Assert.assertEquals(ActiveMQDefaultConfiguration.getDefaultJournalFileSize(), addressControl.getNumberOfBytesPerPage()); session.close(); server.stop(); AddressSettings addressSettings = new AddressSettings(); addressSettings.setPageSizeBytes(1024); server.getAddressSettingsRepository().addMatch(address.toString(), addressSettings); server.start(); ServerLocator locator2 = createInVMNonHALocator(); ClientSessionFactory sf2 = createSessionFactory(locator2); session = sf2.createSession(false, true, false); session.createQueue(address, address, true); Assert.assertEquals(1024, addressControl.getNumberOfBytesPerPage()); }
static Configuration createConfig(String folder) { AddressSettings settings = new AddressSettings().setMaxDeliveryAttempts(-1).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE).setPageSizeBytes(10 * 1024).setMaxSizeBytes(100 * 1024); Configuration config = new ConfigurationImpl().setSecurityEnabled(false).setJournalMinFiles(2).setJournalFileSize(100 * 1024).setJournalType(ActiveMQTestBase.getDefaultJournalType()).setJournalCompactMinFiles(0).setJournalCompactPercentage(0).setClusterPassword(ActiveMQTestBase.CLUSTER_PASSWORD).setJournalDirectory(ActiveMQTestBase.getJournalDir(folder, 0, false)).setBindingsDirectory(ActiveMQTestBase.getBindingsDir(folder, 0, false)).setPagingDirectory(ActiveMQTestBase.getPageDir(folder, 0, false)).setLargeMessagesDirectory(ActiveMQTestBase.getLargeMessagesDir(folder, 0, false)).setPersistenceEnabled(true).addAddressesSetting("#", settings).addAcceptorConfiguration(new TransportConfiguration(ActiveMQTestBase.NETTY_ACCEPTOR_FACTORY)); return config; }