add configuration of cache size

This commit is contained in:
rajdavies 2013-10-11 11:15:35 +01:00
parent 7f17f49d73
commit db2121bfce
2 changed files with 13 additions and 3 deletions

View File

@ -30,11 +30,12 @@ public class MessageGroupHashBucket implements MessageGroupMap {
private final int bucketCount; private final int bucketCount;
private final ConsumerId[] consumers; private final ConsumerId[] consumers;
private LRUMap<String,String>cache=new LRUMap<String,String>(64); private final LRUMap<String,String>cache;
public MessageGroupHashBucket(int bucketCount) { public MessageGroupHashBucket(int bucketCount, int cachedSize) {
this.bucketCount = bucketCount; this.bucketCount = bucketCount;
this.consumers = new ConsumerId[bucketCount]; this.consumers = new ConsumerId[bucketCount];
this.cache=new LRUMap<String,String>(cachedSize);
} }
public synchronized void put(String groupId, ConsumerId consumerId) { public synchronized void put(String groupId, ConsumerId consumerId) {

View File

@ -29,9 +29,10 @@ package org.apache.activemq.broker.region.group;
public class MessageGroupHashBucketFactory implements MessageGroupMapFactory { public class MessageGroupHashBucketFactory implements MessageGroupMapFactory {
private int bucketCount = 1024; private int bucketCount = 1024;
private int cacheSize = 64;
public MessageGroupMap createMessageGroupMap() { public MessageGroupMap createMessageGroupMap() {
return new MessageGroupHashBucket(bucketCount); return new MessageGroupHashBucket(getBucketCount(), getCacheSize());
} }
public int getBucketCount() { public int getBucketCount() {
@ -49,4 +50,12 @@ public class MessageGroupHashBucketFactory implements MessageGroupMapFactory {
this.bucketCount = bucketCount; this.bucketCount = bucketCount;
} }
public int getCacheSize() {
return cacheSize;
}
public void setCacheSize(int cacheSize) {
this.cacheSize = cacheSize;
}
} }