当前位置: 首页>>代码示例>>Java>>正文


Java BigArrayImpl类代码示例

本文整理汇总了Java中com.leansoft.bigqueue.BigArrayImpl的典型用法代码示例。如果您正苦于以下问题:Java BigArrayImpl类的具体用法?Java BigArrayImpl怎么用?Java BigArrayImpl使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


BigArrayImpl类属于com.leansoft.bigqueue包,在下文中一共展示了BigArrayImpl类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testTimeBasedFlush

import com.leansoft.bigqueue.BigArrayImpl; //导入依赖的package包/类
@Test
public void testTimeBasedFlush() throws IOException {
	this.tearDown();
	Properties props = TestUtils.createBrokerConfig(0, -1);
	props.setProperty("log.backfile.page.size", String.valueOf(BigArrayImpl.MINIMUM_DATA_PAGE_SIZE));
	props.setProperty("topic.flush.intervals.ms", "timebasedflush:200");
	props.setProperty("log.default.flush.scheduler.interval.ms", "50");
	ServerConfig config = new ServerConfig(props);
	logManager = new LogManager(config, null, -1, maxLogAge, false, null);
	logManager.startup();
	logDir = logManager.logDir;
	
	Log log = (Log) logManager.getOrCreateLog("timebasedflush");
	
	String randomString = TestUtils.randomString(32);
	for(int i = 0; i <  1024 * 1024; i++) {
		log.append(randomString.getBytes());
	}
	
	assertTrue(System.currentTimeMillis() - log.getLastFlushedTime() <= 1000);
}
 
开发者ID:bulldog2011,项目名称:luxun,代码行数:22,代码来源:LogManagerTest.java

示例2: setUp

import com.leansoft.bigqueue.BigArrayImpl; //导入依赖的package包/类
@Before
public void setUp() {
	Properties props = TestUtils.createBrokerConfig(0, -1);
	props.setProperty("log.backfile.page.size", String.valueOf(BigArrayImpl.MINIMUM_DATA_PAGE_SIZE));
	config = new ServerConfig(props);
	logManager = new LogManager(config, null, -1, maxLogAge, false, null);
	logManager.startup();
	logDir = logManager.logDir;
}
 
开发者ID:bulldog2011,项目名称:luxun,代码行数:10,代码来源:LogManagerTest.java

示例3: testCleanupLogPageFilesToMaintainSize

import com.leansoft.bigqueue.BigArrayImpl; //导入依赖的package包/类
@Test
public void testCleanupLogPageFilesToMaintainSize() throws IOException {
	int retentionHours = 1;
	long retentionMs = 1000 * 60 * 60 * retentionHours;
	this.tearDown();
	Properties props = TestUtils.createBrokerConfig(0, -1);
	props.setProperty("log.backfile.page.size", String.valueOf(BigArrayImpl.MINIMUM_DATA_PAGE_SIZE));
	props.setProperty("log.retention.size", String.valueOf(BigArrayImpl.MINIMUM_DATA_PAGE_SIZE * 3 * 2));// the size of index file should also be taken into account
	config = new ServerConfig(props);
	logManager = new LogManager(config, null, -1, retentionMs, false, null);
	logManager.startup();
	logDir = logManager.logDir;
	
	ILog log = logManager.getOrCreateLog("cleanup");
	
	String randomString = TestUtils.randomString(32);
	for(int i = 0; i < 4 * 1024 * 1024; i++) { // generate 4 back pages, size of per page = 32M
		log.append(randomString.getBytes());
	}
	log.read(0); // ok
	assertTrue(log.getNumberOfBackFiles() == 4);
	
	// let logs expire
	TestUtils.sleepQuietly(2000);
	
    // this cleanup shouldn't find any expired segments but should delete some to reduce size
	logManager.cleanupLogs();
	assertTrue(log.getNumberOfBackFiles() == 3);
	try {
		log.read(0); // corresponding log page has been deleted
	} catch (IndexOutOfBoundsException ex) {
		// expected
	}
	
	// log should still be appendable
	log.append(randomString.getBytes());
}
 
开发者ID:bulldog2011,项目名称:luxun,代码行数:38,代码来源:LogManagerTest.java

示例4: FileBlockingQueue

import com.leansoft.bigqueue.BigArrayImpl; //导入依赖的package包/类
public FileBlockingQueue(
        String path,
        String name,
        int gcPeriodInSec,
        SerDe<E> serDe,
        long sizeLimit) throws IOException {
    innerArray = new BigArrayImpl(path, name);
    // the ttl does not matter here since queue front index page is always cached
    this.queueFrontIndexPageFactory = new MappedPageFactoryImpl(QUEUE_FRONT_INDEX_PAGE_SIZE,
            ((BigArrayImpl)innerArray).getArrayDirectory() + QUEUE_FRONT_INDEX_PAGE_FOLDER,
            10 * 1000/*does not matter*/);
    IMappedPage queueFrontIndexPage = this.queueFrontIndexPageFactory.acquirePage(QUEUE_FRONT_PAGE_INDEX);

    ByteBuffer queueFrontIndexBuffer = queueFrontIndexPage.getLocal(0);
    queueFrontIndex.set(queueFrontIndexBuffer.getLong());

    Executors.newScheduledThreadPool(1).scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            try {
                gc();
            } catch (Exception e) {
                log.error("Exception while gc: " + e.getMessage(), e);
            }
        }
    }, gcPeriodInSec, gcPeriodInSec, TimeUnit.SECONDS);

    this.serDe = serDe;
    this.sizeLimit = sizeLimit;
}
 
开发者ID:Netflix,项目名称:suro,代码行数:31,代码来源:FileBlockingQueue.java

示例5: getLogPageSize

import com.leansoft.bigqueue.BigArrayImpl; //导入依赖的package包/类
/**
 * size per page of back log file
 * 
 * @return size per page
 */
public int getLogPageSize() {
	return getIntInRange(props, "log.backfile.page.size", BigArrayImpl.DEFAULT_DATA_PAGE_SIZE, BigArrayImpl.MINIMUM_DATA_PAGE_SIZE, Integer.MAX_VALUE);
}
 
开发者ID:bulldog2011,项目名称:luxun,代码行数:9,代码来源:ServerConfig.java


注:本文中的com.leansoft.bigqueue.BigArrayImpl类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。