You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by es...@apache.org on 2011/08/17 22:55:01 UTC
svn commit: r1158899 -
/incubator/flume/branches/flume-728/flume-ng-node/src/main/java/org/apache/flume/node/Application.java
Author: esammer
Date: Wed Aug 17 20:55:01 2011
New Revision: 1158899
URL: http://svn.apache.org/viewvc?rev=1158899&view=rev
Log:
- Added skeletal main() run loop for FlumeNode.
Added:
incubator/flume/branches/flume-728/flume-ng-node/src/main/java/org/apache/flume/node/Application.java
Added: incubator/flume/branches/flume-728/flume-ng-node/src/main/java/org/apache/flume/node/Application.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-node/src/main/java/org/apache/flume/node/Application.java?rev=1158899&view=auto
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-node/src/main/java/org/apache/flume/node/Application.java (added)
+++ incubator/flume/branches/flume-728/flume-ng-node/src/main/java/org/apache/flume/node/Application.java Wed Aug 17 20:55:01 2011
@@ -0,0 +1,69 @@
+package org.apache.flume.node;
+
+import org.apache.flume.Context;
+import org.apache.flume.lifecycle.LifecycleController;
+import org.apache.flume.lifecycle.LifecycleException;
+import org.apache.flume.lifecycle.LifecycleState;
+import org.apache.flume.node.nodemanager.DefaultLogicalNodeManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Application {
+
+ private static final Logger logger = LoggerFactory
+ .getLogger(Application.class);
+
+ private String[] args;
+
+ public static void main(String[] args) {
+ Application application = new Application();
+
+ application.setArgs(args);
+
+ try {
+ application.run();
+ } catch (Exception e) {
+ logger.error("A fatal error occurred while running. Exception follows.",
+ e);
+ }
+ }
+
+ public void run() throws LifecycleException, InterruptedException {
+ final Context context = new Context();
+ final FlumeNode node = new FlumeNode();
+ NodeManager nodeManager = new DefaultLogicalNodeManager();
+
+ node.setName("node");
+ node.setNodeManager(nodeManager);
+
+ Runtime.getRuntime().addShutdownHook(new Thread("node-shutdownHook") {
+
+ @Override
+ public void run() {
+ try {
+ node.stop(context);
+ } catch (LifecycleException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ });
+
+ node.start(context);
+
+ LifecycleController.waitForOneOf(node, LifecycleState.STOP_OR_ERROR);
+ }
+
+ public String[] getArgs() {
+ return args;
+ }
+
+ public void setArgs(String[] args) {
+ this.args = args;
+ }
+
+}