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


Java ResettableInputStream类代码示例

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


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

示例1: readLine

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
private String readLine(ResettableInputStream in) throws IOException {
	StringBuilder sb = new StringBuilder();
	int c;
	int readChars = 0;
	while ((c = in.readChar()) != -1) {
		readChars++;

		// FIXME: support \r\n
		if (c == '\n') {
			break;
		}

		sb.append((char) c);

		if (readChars >= maxLineLength) {
			logger.warn("Line length exceeds max ({}), truncating line!", maxLineLength);
			break;
		}
	}

	if (readChars > 0) {
		return sb.toString();
	} else {
		return null;
	}
}
 
开发者ID:cerndb,项目名称:flume-ng-audit-db,代码行数:27,代码来源:RecoveryManagerLogFile.java

示例2: build

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Override
public EventDeserializer build(Context context, ResettableInputStream resettableInputStream) {
    Settings settings = createSettings(context);
    LDVFactory factory = new LDVFactory(settings);
    ResettableInputStreamWrapper wrapper = new ResettableInputStreamWrapper(resettableInputStream);
    LDVReader reader = factory.openReader(wrapper);

    Map<String, String> additionalHeaders = context.getSubProperties(Builder.HEADERS);
    boolean lowerCaseSchemaHeader=context.getBoolean("lowercase.header.schema", true);
    boolean lowerCaseTableHeader=context.getBoolean("lowercase.header.table", true);
    int bufferSize = context.getInteger("buffer.size", 256 * 1024);

    LDVEventBuilder eventBuilder = new LDVEventBuilder(additionalHeaders,
            bufferSize,
            lowerCaseSchemaHeader,
            lowerCaseTableHeader);

    return new LDVEventDeserializer(resettableInputStream, reader, eventBuilder);
}
 
开发者ID:jcustenborder,项目名称:hadoop-goldengate,代码行数:20,代码来源:LDVEventDeserializer.java

示例3: BlobDeserializer

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
protected BlobDeserializer(Context context, ResettableInputStream in) {
  this.in = in;
  this.maxBlobLength = context.getInteger(MAX_BLOB_LENGTH_KEY, MAX_BLOB_LENGTH_DEFAULT);
  if (this.maxBlobLength <= 0) {
    throw new ConfigurationException("Configuration parameter " + MAX_BLOB_LENGTH_KEY
        + " must be greater than zero: " + maxBlobLength);
  }
  this.isOpen = true;
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:10,代码来源:BlobDeserializer.java

示例4: testSimpleViaBuilder

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Test
public void testSimpleViaBuilder() throws IOException {
  ResettableInputStream in = new ResettableTestStringInputStream(mini);
  EventDeserializer.Builder builder = new BlobDeserializer.Builder();
  EventDeserializer des = builder.build(new Context(), in);
  validateMiniParse(des);
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:8,代码来源:TestBlobDeserializer.java

示例5: testSimpleViaFactory

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Test
public void testSimpleViaFactory() throws IOException {
  ResettableInputStream in = new ResettableTestStringInputStream(mini);
  EventDeserializer des;
  des = EventDeserializerFactory.getInstance(BlobDeserializer.Builder.class.getName(),
                                             new Context(), in);
  validateMiniParse(des);
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:9,代码来源:TestBlobDeserializer.java

示例6: testBatch

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Test
public void testBatch() throws IOException {
  ResettableInputStream in = new ResettableTestStringInputStream(mini);
  EventDeserializer des = new BlobDeserializer(new Context(), in);
  List<Event> events;

  events = des.readEvents(10); // try to read more than we should have
  assertEquals(1, events.size());
  assertEventBodyEquals(mini, events.get(0));

  des.mark();
  des.close();
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:14,代码来源:TestBlobDeserializer.java

示例7: testMaxLineLength

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Test
public void testMaxLineLength() throws IOException {
  String longLine = "abcdefghijklmnopqrstuvwxyz\n";
  Context ctx = new Context();
  ctx.put(BlobDeserializer.MAX_BLOB_LENGTH_KEY, "10");

  ResettableInputStream in = new ResettableTestStringInputStream(longLine);
  EventDeserializer des = new BlobDeserializer(ctx, in);

  assertEventBodyEquals("abcdefghij", des.readEvent());
  assertEventBodyEquals("klmnopqrst", des.readEvent());
  assertEventBodyEquals("uvwxyz\n", des.readEvent());
  assertNull(des.readEvent());
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:15,代码来源:TestBlobDeserializer.java

示例8: MultiLineDeserializer

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
MultiLineDeserializer(Context context, ResettableInputStream in) {
    this.in = in;
    this.outputCharset = Charset.forName(
            context.getString(OUT_CHARSET_KEY, CHARSET_DFLT));
    this.maxLineLength = context.getInteger(MAXLINE_KEY, MAXLINE_DFLT);
    this.newLineStartPrefix = context.getString(NEW_LINE_START_PREFIX, START_PREFIX_DFLT);
    this.wrappedByDocker = context.getBoolean(WRAPPED_BY_DOCKER, DEFAULT_WRAPPED_BY_DOCKER);
    this.isOpen = true;
}
 
开发者ID:yanghua,项目名称:flume-customized,代码行数:10,代码来源:MultiLineDeserializer.java

示例9: readAllLines

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
private List<String> readAllLines(ResettableInputStream in) throws IOException {
	List<String> lines = new LinkedList<>();
	
	String line = readLine(in);
	while(line != null){
		lines.add(line);
		line = readLine(in);
	}
	
	return lines;
}
 
开发者ID:cerndb,项目名称:flume-ng-audit-db,代码行数:12,代码来源:RecoveryManagerLogFile.java

示例10: parseFromSuccesfulFile

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Test
public void parseFromSuccesfulFile() throws IOException{
	
	File file = new File("src/test/resources/rman-logs/level_arch_newdisk.edhp_rac51.05042016_0531");
	
	if(!file.exists())
		return;
	
	File metaFile = new File("src/test/resources/RManDeserializerTest.metafile");
	
	PositionTracker tracker = DurablePositionTracker.getInstance(metaFile, file.getAbsolutePath());
	ResettableInputStream in = new ResettableFileInputStream(file, tracker);
	
	RecoveryManagerDeserializer des = (RecoveryManagerDeserializer) new RecoveryManagerDeserializer.Builder().build(new Context(), in);

	Event event = des.readEvent();
	JSONObject json = null;
	try {
		json = new JSONObject(new String(event.getBody()));
		
		Assert.assertEquals("2016-04-05T05:31:00+0200", json.get("startTimestamp"));
		Assert.assertEquals("level_arch_newdisk", json.get("backupType"));
		Assert.assertEquals("edhp_rac51", json.get("entityName"));
		
	} catch (JSONException e) {
		e.printStackTrace();
		Assert.fail();
	}
	
	System.out.println(json);

	metaFile.delete();
}
 
开发者ID:cerndb,项目名称:flume-ng-audit-db,代码行数:34,代码来源:RecoveryManagerDeserializerTest.java

示例11: parseFromFailedFile

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Test
public void parseFromFailedFile() throws IOException{
	
	File file = new File("src/test/resources/rman-logs/level_EXEC_BACKUPSET_A.edhp_rac51.27012016_1829");
	
	if(!file.exists())
		return;
	
	File metaFile = new File("src/test/resources/RManDeserializerTest.metafile");
	
	PositionTracker tracker = DurablePositionTracker.getInstance(metaFile, file.getAbsolutePath());
	ResettableInputStream in = new ResettableFileInputStream(file, tracker);
	
	RecoveryManagerDeserializer des = (RecoveryManagerDeserializer) new RecoveryManagerDeserializer.Builder().build(new Context(), in);

	Event event = des.readEvent();
	JSONObject json = null;
	try {
		json = new JSONObject(new String(event.getBody()));
		
		Assert.assertEquals("2016-01-27T18:29:00+0100", json.get("startTimestamp"));
		Assert.assertEquals("level_EXEC_BACKUPSET_A", json.get("backupType"));
		Assert.assertEquals("edhp_rac51", json.get("entityName"));
		
	} catch (JSONException e) {
		e.printStackTrace();
		Assert.fail();
	}
	
	System.out.println(json);

	metaFile.delete();
}
 
开发者ID:cerndb,项目名称:flume-ng-audit-db,代码行数:34,代码来源:RecoveryManagerDeserializerTest.java

示例12: WrapLineDeserializer

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
WrapLineDeserializer(Context context, ResettableInputStream in) {
  this.in = in;
  this.outputCharset = Charset.forName(
      context.getString(OUT_CHARSET_KEY, CHARSET_DFLT));
  this.maxLineLength = context.getInteger(MAXLINE_KEY, MAXLINE_DFLT);
  this.isOpen = true;
}
 
开发者ID:feiyuyitiao,项目名称:flume-ng-extends,代码行数:8,代码来源:WrapLineDeserializer.java

示例13: LDVEventDeserializer

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
/**
 *
 * @param resettableInputStream Input stream to read from.
 * @param reader LDVReader to read from
 * @param eventBuilder
 */
LDVEventDeserializer(
        ResettableInputStream resettableInputStream,
        LDVReader reader,
        LDVEventBuilder eventBuilder){
    this.resettableInputStream = resettableInputStream;
    this.reader = reader;
    this.eventBuilder = eventBuilder;
}
 
开发者ID:jcustenborder,项目名称:hadoop-goldengate,代码行数:15,代码来源:LDVEventDeserializer.java

示例14: build

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Override
public EventDeserializer build(Context context, ResettableInputStream in) {
    if (!(in instanceof Seekable)) {
        throw new IllegalArgumentException(
                "Cannot use this deserializer without a Seekable input stream");
    }
    try {
        return new XmlXpathDeserializer(context, in);
    } catch (IOException ex) {
        throw new RuntimeException(ex);
    }
}
 
开发者ID:Stratio,项目名称:ingestion,代码行数:13,代码来源:XmlXpathDeserializer.java

示例15: build

import org.apache.flume.serialization.ResettableInputStream; //导入依赖的package包/类
@Override
public BlobDeserializer build(Context context, ResettableInputStream in) {      
  return new BlobDeserializer(context, in);
}
 
开发者ID:moueimei,项目名称:flume-release-1.7.0,代码行数:5,代码来源:BlobDeserializer.java


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