本文整理汇总了Java中org.kitesdk.morphline.base.Notifications.notifyBeginTransaction方法的典型用法代码示例。如果您正苦于以下问题:Java Notifications.notifyBeginTransaction方法的具体用法?Java Notifications.notifyBeginTransaction怎么用?Java Notifications.notifyBeginTransaction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.kitesdk.morphline.base.Notifications
的用法示例。
在下文中一共展示了Notifications.notifyBeginTransaction方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testLoadSolrBasic
import org.kitesdk.morphline.base.Notifications; //导入方法依赖的package包/类
@Test
public void testLoadSolrBasic() throws Exception {
//System.setProperty("ENV_SOLR_HOME", testSolrHome + "/collection1");
morphline = createMorphline("test-morphlines/loadSolrBasic");
//System.clearProperty("ENV_SOLR_HOME");
Record record = new Record();
record.put(Fields.ID, "id0");
record.put("first_name", "Nadja"); // will be sanitized
startSession();
Notifications.notifyBeginTransaction(morphline);
assertTrue(morphline.process(record));
assertEquals(1, collector.getNumStartEvents());
Notifications.notifyCommitTransaction(morphline);
Record expected = new Record();
expected.put(Fields.ID, "id0");
assertEquals(Arrays.asList(expected), collector.getRecords());
assertEquals(1, queryResultSetSize("*:*"));
Notifications.notifyRollbackTransaction(morphline);
Notifications.notifyShutdown(morphline);
}
示例2: testTokenizeText
import org.kitesdk.morphline.base.Notifications; //导入方法依赖的package包/类
@Test
public void testTokenizeText() throws Exception {
morphline = createMorphline("test-morphlines" + File.separator + "tokenizeText");
for (int i = 0; i < 3; i++) {
Record record = new Record();
record.put(Fields.MESSAGE, "Hello World!");
record.put(Fields.MESSAGE, "\[email protected] #%()123");
Record expected = record.copy();
expected.getFields().putAll("tokens", Arrays.asList("hello", "world", "foo", "bar.com", "123"));
collector.reset();
startSession();
Notifications.notifyBeginTransaction(morphline);
assertTrue(morphline.process(record));
assertEquals(1, collector.getNumStartEvents());
Notifications.notifyCommitTransaction(morphline);
assertEquals(expected, collector.getFirstRecord());
}
}
示例3: setPipeline
import org.kitesdk.morphline.base.Notifications; //导入方法依赖的package包/类
/**
*
* @param morphlineFile
* @param morphlineId
* @param collector
* @param isProduction
* @return
*/
public static Pipeline setPipeline(String morphlineFile, String morphlineId, Collector collector, boolean isProduction) {
LOG.debug("Constructing Pipeline[{}#{}]", morphlineFile, morphlineId);
// Set up the Morphline context and handler
MorphlineContext context = new MorphlineContext.Builder()
.setExceptionHandler(new FaultTolerance(isProduction, false))
.build();
// Compile the Morphline process
Command morphline;
try {
morphline = new Compiler().compile(
new File(morphlineFile),
morphlineId,
context,
collector);
} catch (Exception e) {
throw new MorphlineCompilationException("Morphline compilation error", null, e);
}
// Create the pipeline wrapper
Pipeline pipeline = new Pipeline(morphline, collector);
// Ensure shutdown notification to Morphline commands esp in streaming environments
JVMUtils.closeAtShutdown(pipeline);
// Prep the pipeline
Notifications.notifyBeginTransaction(pipeline.getMorphline());
// Register the pipeline into the cache
if (null == pipelineCache.get()) {
pipelineCache.set(new HashMap<String, Pipeline>());
}
pipelineCache.get().put(morphlineFile + SEPARATOR + morphlineId, pipeline);
LOG.trace("Pipeline[{}#{}] prepared", morphlineFile, morphlineId);
return pipeline;
}
示例4: testSimpleCSV
import org.kitesdk.morphline.base.Notifications; //导入方法依赖的package包/类
@Test
public void testSimpleCSV() throws Exception {
morphline = createMorphline("test-morphlines/simpleCSV");
Notifications.notifyBeginTransaction(morphline);
InputStream in = new FileInputStream(new File(RESOURCES_DIR + "/test-documents/simpleCSV.txt"));
Record record = new Record();
record.put(Fields.ATTACHMENT_BODY, in);
record.put(Fields.ATTACHMENT_MIME_TYPE, "text/plain");
// Actually process the input file.
assertTrue(morphline.process(record));
assertEquals(collector.getRecords().size(), 2);
Record rec = collector.getRecords().get(0);
// Since id and timestamp vary with run, just see if they have anything in them
assertTrue(rec.get("id").toString().length() > 5);
assertTrue(rec.get("timestamp").toString().length() > 5);
assertEquals(rec.get("text").toString(), "[text for body]");
// Now look at second record
rec = collector.getRecords().get(1);
assertTrue(rec.get("id").toString().length() > 5);
assertTrue(rec.get("timestamp").toString().length() > 5);
assertEquals(rec.get("text").toString(), "[second record]");
in.close();
Notifications.notifyCommitTransaction(morphline);
}
示例5: beginTransaction
import org.kitesdk.morphline.base.Notifications; //导入方法依赖的package包/类
@Override
public void beginTransaction() {
Notifications.notifyBeginTransaction(morphline);
}