private static SequentialFileFactory newFactory(File datafolder, boolean datasync, JournalType journalType, int fileSize, int maxAIO) { SequentialFileFactory factory; if (journalType == JournalType.ASYNCIO && !LibaioContext.isLoaded()) { journalType = JournalType.NIO; } switch (journalType) { case NIO: factory = new NIOSequentialFileFactory(datafolder, 1).setDatasync(datasync); ((NIOSequentialFileFactory) factory).disableBufferReuse(); factory.start(); return factory; case ASYNCIO: factory = new AIOSequentialFileFactory(datafolder, maxAIO).setDatasync(datasync); factory.start(); ((AIOSequentialFileFactory) factory).disableBufferReuse(); return factory; case MAPPED: factory = new MappedSequentialFileFactory(datafolder, fileSize, false, 0, 0, null) .setDatasync(datasync) .disableBufferReuse(); factory.start(); return factory; default: throw ActiveMQMessageBundle.BUNDLE.invalidJournalType2(journalType); } } }
private static SequentialFileFactory newFactory(File datafolder, boolean datasync, JournalType journalType, int fileSize, int maxAIO) { SequentialFileFactory factory; if (journalType == JournalType.ASYNCIO && !LibaioContext.isLoaded()) { journalType = JournalType.NIO; } switch (journalType) { case NIO: factory = new NIOSequentialFileFactory(datafolder, 1).setDatasync(datasync); ((NIOSequentialFileFactory) factory).disableBufferReuse(); factory.start(); return factory; case ASYNCIO: factory = new AIOSequentialFileFactory(datafolder, maxAIO).setDatasync(datasync); factory.start(); ((AIOSequentialFileFactory) factory).disableBufferReuse(); return factory; case MAPPED: factory = new MappedSequentialFileFactory(datafolder, fileSize, false, 0, 0, null) .setDatasync(datasync) .disableBufferReuse(); factory.start(); return factory; default: throw ActiveMQMessageBundle.BUNDLE.invalidJournalType2(journalType); } } }
break; default: throw ActiveMQMessageBundle.BUNDLE.invalidJournalType2(config.getJournalType());