Updated Branches:
  refs/heads/flume-1.4 284fc6e5e -> 9856df98e

FLUME-1766. AvroSource throws confusing exception when configured without a 
port.

(Jeff Lord via Mike Percy)


Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/9856df98
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/9856df98
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/9856df98

Branch: refs/heads/flume-1.4
Commit: 9856df98ef97892a439c502ccf034e7f4170155e
Parents: 284fc6e
Author: Mike Percy <[email protected]>
Authored: Fri Dec 7 11:31:23 2012 -0800
Committer: Mike Percy <[email protected]>
Committed: Fri Dec 7 11:33:01 2012 -0800

----------------------------------------------------------------------
 .../java/org/apache/flume/source/AvroSource.java   |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/9856df98/flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java 
b/flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java
index 47ccf9f..dc18c5d 100644
--- a/flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java
+++ b/flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java
@@ -40,6 +40,7 @@ import org.apache.flume.Event;
 import org.apache.flume.EventDrivenSource;
 import org.apache.flume.Source;
 import org.apache.flume.conf.Configurable;
+import org.apache.flume.conf.Configurables;
 import org.apache.flume.event.EventBuilder;
 import org.apache.flume.instrumentation.SourceCounter;
 import org.apache.flume.source.avro.AvroFlumeEvent;
@@ -112,6 +113,8 @@ public class AvroSource extends AbstractSource implements 
EventDrivenSource,
   private static final Logger logger = LoggerFactory
       .getLogger(AvroSource.class);
 
+  private static final String PORT_KEY = "port";
+  private static final String BIND_KEY = "bind";
   private int port;
   private String bindAddress;
 
@@ -123,8 +126,10 @@ public class AvroSource extends AbstractSource implements 
EventDrivenSource,
 
   @Override
   public void configure(Context context) {
-    port = Integer.parseInt(context.getString("port"));
-    bindAddress = context.getString("bind");
+    Configurables.ensureRequiredNonNull(context, PORT_KEY, BIND_KEY);
+
+    port = context.getInteger(PORT_KEY);
+    bindAddress = context.getString(BIND_KEY);
     try {
       maxThreads = context.getInteger(THREADS, 0);
     } catch (NumberFormatException e) {

Reply via email to