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


Java FileChannel类代码示例

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


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

示例1: doTestFixInvalidEvents

import org.apache.flume.channel.file.FileChannel; //导入依赖的package包/类
public void doTestFixInvalidEvents(boolean withCheckpoint, String eventHandler) throws Exception {
  FileChannelIntegrityTool tool = new FileChannelIntegrityTool();
  tool.run(new String[] {"-l", dataDir.toString(), "-e", eventHandler, "-DvalidatorValue=0"});
  FileChannel channel = new FileChannel();
  channel.setName("channel");
  if (withCheckpoint) {
    File[] cpFiles = origCheckpointDir.listFiles(new FilenameFilter() {
      @Override
      public boolean accept(File dir, String name) {
        if (name.contains("lock") || name.contains("queueset")) {
          return false;
        }
        return true;
      }
    });
    for (File cpFile : cpFiles) {
      Serialization.copyFile(cpFile, new File(checkpointDir, cpFile.getName()));
    }
  } else {
    FileUtils.deleteDirectory(checkpointDir);
    Assert.assertTrue(checkpointDir.mkdirs());
  }
  ctx.put(FileChannelConfiguration.CHECKPOINT_DIR, checkpointDir.toString());
  ctx.put(FileChannelConfiguration.DATA_DIRS, dataDir.toString());
  channel.configure(ctx);
  channel.start();
  Transaction tx = channel.getTransaction();
  tx.begin();
  int i = 0;
  while (channel.take() != null) {
    i++;
  }
  tx.commit();
  tx.close();
  channel.stop();
  Assert.assertTrue(invalidEvent != 0);
  Assert.assertEquals(25 - invalidEvent, i);
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:39,代码来源:TestFileChannelIntegrityTool.java

示例2: createDataFiles

import org.apache.flume.channel.file.FileChannel; //导入依赖的package包/类
private static void createDataFiles() throws Exception {
  final byte[] eventData = new byte[2000];
  for (int i = 0; i < 2000; i++) {
    eventData[i] = 1;
  }
  WriteOrderOracle.setSeed(System.currentTimeMillis());
  event = EventBuilder.withBody(eventData);
  baseDir = Files.createTempDir();
  if (baseDir.exists()) {
    FileUtils.deleteDirectory(baseDir);
  }
  baseDir = Files.createTempDir();
  origCheckpointDir = new File(baseDir, "chkpt");
  Assert.assertTrue(origCheckpointDir.mkdirs() || origCheckpointDir.isDirectory());
  origDataDir = new File(baseDir, "data");
  Assert.assertTrue(origDataDir.mkdirs() || origDataDir.isDirectory());
  FileChannel channel = new FileChannel();
  channel.setName("channel");
  ctx = new Context();
  ctx.put(FileChannelConfiguration.CAPACITY, "1000");
  ctx.put(FileChannelConfiguration.CHECKPOINT_DIR, origCheckpointDir.toString());
  ctx.put(FileChannelConfiguration.DATA_DIRS, origDataDir.toString());
  ctx.put(FileChannelConfiguration.MAX_FILE_SIZE, "10000");
  ctx.put(FileChannelConfiguration.TRANSACTION_CAPACITY, "100");
  channel.configure(ctx);
  channel.start();
  for (int j = 0; j < 5; j++) {
    Transaction tx = channel.getTransaction();
    tx.begin();
    for (int i = 0; i < 5; i++) {
      if (i % 3 == 0) {
        event.getBody()[0] = 0;
        invalidEvent++;
      } else {
        event.getBody()[0] = 1;
      }
      channel.put(event);
    }
    tx.commit();
    tx.close();
  }
  Log log = field("log").ofType(Log.class)
                        .in(channel)
                        .get();

  Assert.assertTrue("writeCheckpoint returned false",
                    method("writeCheckpoint").withReturnType(Boolean.class)
                                             .withParameterTypes(Boolean.class)
                                             .in(log)
                                             .invoke(true));
  channel.stop();
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:53,代码来源:TestFileChannelIntegrityTool.java


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