* @see net.timewalker.ffmq3.utils.Checkable#check()
*/
public void check() throws JMSException
{
if (StringTools.isEmpty(name))
throw new InvalidDescriptorException("Missing descriptor property : name");
checkMinValue(maxNonPersistentMessages, 0, "maximum non persistent messages");
checkMinValue(initialBlockCount, 0, "initial block count");
checkMinValue(maxBlockCount, 0, "maximum block count");
if (maxBlockCount < initialBlockCount)
throw new InvalidDescriptorException("Maximum block count should be greater or equal than initial block count");
if (maxBlockCount > 0)
{
if (rawDataFolder == null || StringTools.isEmpty(rawDataFolder))
throw new InvalidDescriptorException("Missing destination raw data folder");
if (dataFolder == null || StringTools.isEmpty(dataFolder.getName()))
throw new InvalidDescriptorException("Missing destination data folder");
checkMinValue(blockSize,1024,"block size");
if (initialBlockCount != maxBlockCount)
checkMinValue(autoExtendAmount,1,"auto extend amount");
if (useJournal)
{
checkMinValue(maxJournalSize,1024,"maximum journal size");
checkMinValue(maxWriteBatchSize,1,"maximum write batch size");
checkMinValue(journalOutputBuffer,1024,"journal output buffer size");
checkMinValue(maxUncommittedJournalSize,1024,"maximum uncommitted journal size");
checkMinValue(maxUncommittedStoreSize,1024,"maximum uncommitted store size");
}
}
if (initialBlockCount == 0 && maxNonPersistentMessages == 0)
throw new InvalidDescriptorException("Destination cannot store any message !");
}