use of org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy in project activemq-artemis by apache.
the class NetworkLoadTest method createBroker.
protected BrokerService createBroker(int brokerId) throws Exception {
BrokerService broker = new BrokerService();
broker.setBrokerName("broker-" + brokerId);
broker.setPersistent(false);
broker.setUseJmx(true);
broker.getManagementContext().setCreateConnector(false);
final SystemUsage memoryManager = new SystemUsage();
// 50 MB
memoryManager.getMemoryUsage().setLimit(1024 * 1024 * 50);
broker.setSystemUsage(memoryManager);
final List<PolicyEntry> policyEntries = new ArrayList<>();
final PolicyEntry entry = new PolicyEntry();
entry.setQueue(">");
// Set to 1 MB
entry.setMemoryLimit(1024 * 1024 * 1);
entry.setPendingSubscriberPolicy(new VMPendingSubscriberMessageStoragePolicy());
entry.setPendingQueuePolicy(new VMPendingQueueMessageStoragePolicy());
policyEntries.add(entry);
// This is to turn of the default behavior of storing topic messages for retroactive consumption
final PolicyEntry topicPolicyEntry = new PolicyEntry();
topicPolicyEntry.setTopic(">");
final NoSubscriptionRecoveryPolicy noSubscriptionRecoveryPolicy = new NoSubscriptionRecoveryPolicy();
topicPolicyEntry.setSubscriptionRecoveryPolicy(noSubscriptionRecoveryPolicy);
final PolicyMap policyMap = new PolicyMap();
policyMap.setPolicyEntries(policyEntries);
broker.setDestinationPolicy(policyMap);
TransportConnector transportConnector = new TransportConnector();
transportConnector.setUri(new URI("tcp://localhost:" + (60000 + brokerId)));
transportConnector.setDiscoveryUri(new URI("multicast://default?group=" + groupId));
broker.addConnector(transportConnector);
DiscoveryNetworkConnector networkConnector = new DiscoveryNetworkConnector();
networkConnector.setUri(new URI("multicast://default?group=" + groupId));
networkConnector.setBridgeTempDestinations(true);
networkConnector.setPrefetchSize(1);
broker.addNetworkConnector(networkConnector);
return broker;
}
use of org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy in project activemq-artemis by apache.
the class RecoverExpiredMessagesTest method initCombosForTestRecovery.
public void initCombosForTestRecovery() throws Exception {
addCombinationValues("queuePendingPolicy", new PendingQueueMessageStoragePolicy[] { new FilePendingQueueMessageStoragePolicy(), new VMPendingQueueMessageStoragePolicy() });
PersistenceAdapter[] persistenceAdapters = new PersistenceAdapter[] { new KahaDBPersistenceAdapter(), new JDBCPersistenceAdapter(DataSourceServiceSupport.createDataSource(IOHelper.getDefaultDataDirectory()), new OpenWireFormat()) };
for (PersistenceAdapter adapter : persistenceAdapters) {
adapter.setDirectory(new File(IOHelper.getDefaultDataDirectory()));
}
addCombinationValues("persistenceAdapter", persistenceAdapters);
}
use of org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy in project activemq-artemis by apache.
the class DestinationCursorConfigTest method testQueueConfiguration.
public void testQueueConfiguration() throws Exception {
super.topic = false;
ActiveMQDestination destination = (ActiveMQDestination) createDestination("org.apache.foo");
PolicyEntry entry = broker.getDestinationPolicy().getEntryFor(destination);
PendingQueueMessageStoragePolicy policy = entry.getPendingQueuePolicy();
assertNotNull(policy);
assertTrue("Policy is: " + policy, policy instanceof VMPendingQueueMessageStoragePolicy);
}
use of org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy in project activemq-artemis by apache.
the class QueueMemoryFullMultiBrokersTest method applyMemoryLimitPolicy.
private void applyMemoryLimitPolicy(BrokerService broker) {
final SystemUsage memoryManager = new SystemUsage();
// 50 MB
memoryManager.getMemoryUsage().setLimit(1024 * 50);
broker.setSystemUsage(memoryManager);
final List<PolicyEntry> policyEntries = new ArrayList<>();
final PolicyEntry entry = new PolicyEntry();
entry.setQueue(">");
// Set to 2 kb
entry.setMemoryLimit(1024 * 4);
entry.setPendingQueuePolicy(new VMPendingQueueMessageStoragePolicy());
policyEntries.add(entry);
final PolicyMap policyMap = new PolicyMap();
policyMap.setPolicyEntries(policyEntries);
broker.setDestinationPolicy(policyMap);
}
use of org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy in project activemq-artemis by apache.
the class ExpiredMessagesWithNoConsumerTest method initCombosForTestExpiredMessagesWithNoConsumer.
public void initCombosForTestExpiredMessagesWithNoConsumer() {
addCombinationValues("optimizedDispatch", new Object[] { Boolean.TRUE, Boolean.FALSE });
addCombinationValues("pendingQueuePolicy", new Object[] { null, new VMPendingQueueMessageStoragePolicy(), new FilePendingQueueMessageStoragePolicy() });
}
Aggregations