mirror of https://github.com/apache/activemq.git
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@657734 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
412923da51
commit
ca36136639
|
@ -55,6 +55,9 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
private int keySize = DEFAULT_KEY_SIZE;
|
||||
private int numberOfBins = DEFAULT_BIN_SIZE;
|
||||
private int keysPerPage = this.pageSize /this.keySize;
|
||||
private DataByteArrayInputStream dataIn;
|
||||
private DataByteArrayOutputStream dataOut;
|
||||
private byte[] readBuffer;
|
||||
private HashBin[] bins;
|
||||
private Marshaller keyMarshaller;
|
||||
private long length;
|
||||
|
@ -239,6 +242,9 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
this.bins = new HashBin[capacity];
|
||||
threshold = calculateThreashold();
|
||||
keysPerPage = pageSize / keySize;
|
||||
dataIn = new DataByteArrayInputStream();
|
||||
dataOut = new DataByteArrayOutputStream(pageSize);
|
||||
readBuffer = new byte[pageSize];
|
||||
try {
|
||||
openIndexFile();
|
||||
if (indexFile.length() > 0) {
|
||||
|
@ -369,7 +375,6 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
}
|
||||
|
||||
void writeFullPage(HashPage page) throws IOException {
|
||||
DataByteArrayOutputStream dataOut = new DataByteArrayOutputStream(pageSize);
|
||||
dataOut.reset();
|
||||
page.write(keyMarshaller, dataOut);
|
||||
if (dataOut.size() > pageSize) {
|
||||
|
@ -380,7 +385,6 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
}
|
||||
|
||||
void writePageHeader(HashPage page) throws IOException {
|
||||
DataByteArrayOutputStream dataOut = new DataByteArrayOutputStream(pageSize);
|
||||
dataOut.reset();
|
||||
page.writeHeader(dataOut);
|
||||
indexFile.seek(page.getId());
|
||||
|
@ -388,9 +392,6 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
}
|
||||
|
||||
HashPage getFullPage(long id) throws IOException {
|
||||
byte[] readBuffer = new byte[pageSize];
|
||||
DataByteArrayInputStream dataIn = new DataByteArrayInputStream();
|
||||
readBuffer = new byte[pageSize];
|
||||
indexFile.seek(id);
|
||||
indexFile.readFully(readBuffer, 0, pageSize);
|
||||
dataIn.restart(readBuffer);
|
||||
|
@ -401,8 +402,6 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
}
|
||||
|
||||
HashPage getPageHeader(long id) throws IOException {
|
||||
byte[] readBuffer = new byte[pageSize];
|
||||
DataByteArrayInputStream dataIn = new DataByteArrayInputStream();
|
||||
indexFile.seek(id);
|
||||
indexFile.readFully(readBuffer, 0, HashPage.PAGE_HEADER_SIZE);
|
||||
dataIn.restart(readBuffer);
|
||||
|
@ -469,8 +468,6 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
}
|
||||
|
||||
private void doLoad() throws IOException {
|
||||
byte[] readBuffer = new byte[pageSize];
|
||||
DataByteArrayInputStream dataIn = new DataByteArrayInputStream();
|
||||
long offset = 0;
|
||||
if (loaded.compareAndSet(false, true)) {
|
||||
while ((offset + pageSize) <= indexFile.length()) {
|
||||
|
@ -589,7 +586,7 @@ public class HashIndex implements Index, HashIndexMBean {
|
|||
}
|
||||
|
||||
static {
|
||||
DEFAULT_PAGE_SIZE = Integer.parseInt(System.getProperty("defaultPageSize", "16384"));
|
||||
DEFAULT_PAGE_SIZE = Integer.parseInt(System.getProperty("defaultPageSize", "1024"));
|
||||
DEFAULT_KEY_SIZE = Integer.parseInt(System.getProperty("defaultKeySize", "96"));
|
||||
DEFAULT_BIN_SIZE= Integer.parseInt(System.getProperty("defaultBinSize", "1024"));
|
||||
MAXIMUM_CAPACITY = Integer.parseInt(System.getProperty("defaultPageSize", "16384"));
|
||||
|
|
|
@ -59,7 +59,7 @@ public class KahaReferenceStoreAdapter extends KahaPersistenceAdapter implements
|
|||
private static final Log LOG = LogFactory.getLog(KahaReferenceStoreAdapter.class);
|
||||
private static final String STORE_STATE = "store-state";
|
||||
private static final String INDEX_VERSION_NAME = "INDEX_VERSION";
|
||||
private static final Integer INDEX_VERSION = new Integer(6);
|
||||
private static final Integer INDEX_VERSION = new Integer(7);
|
||||
private static final String RECORD_REFERENCES = "record-references";
|
||||
private static final String TRANSACTIONS = "transactions-state";
|
||||
private MapContainer stateMap;
|
||||
|
|
Loading…
Reference in New Issue