You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by sb...@apache.org on 2015/10/23 23:56:12 UTC
[4/5] incubator-streams git commit: fixes singleton problem when
instantiating multiple instances in same jvm
fixes singleton problem when instantiating multiple instances in same jvm
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/5940a4d8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/5940a4d8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/5940a4d8
Branch: refs/heads/master
Commit: 5940a4d89c9975cae18d3eb8071c7900e91c0052
Parents: ef4d1e9
Author: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Authored: Wed Sep 23 15:18:19 2015 -0500
Committer: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Committed: Wed Sep 23 15:18:19 2015 -0500
----------------------------------------------------------------------
.../org/apache/streams/converter/LineReadWriteUtil.java | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/5940a4d8/streams-components/streams-converters/src/main/java/org/apache/streams/converter/LineReadWriteUtil.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/LineReadWriteUtil.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/LineReadWriteUtil.java
index 13b0ebf..d418b52 100644
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/LineReadWriteUtil.java
+++ b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/LineReadWriteUtil.java
@@ -83,18 +83,24 @@ public class LineReadWriteUtil {
public static LineReadWriteUtil getInstance(List<String> fields){
if( INSTANCE == null )
INSTANCE = new LineReadWriteUtil(fields);
+ else if( !INSTANCE.fields.equals(fields))
+ return new LineReadWriteUtil(fields);
return INSTANCE;
}
public static LineReadWriteUtil getInstance(List<String> fields, String fieldDelimiter){
if( INSTANCE == null )
INSTANCE = new LineReadWriteUtil(fields, fieldDelimiter);
+ else if( !INSTANCE.fields.equals(fields) || !INSTANCE.fieldDelimiter.equals(fieldDelimiter))
+ return new LineReadWriteUtil(fields, fieldDelimiter);
return INSTANCE;
}
public static LineReadWriteUtil getInstance(List<String> fields, String fieldDelimiter, String lineDelimiter){
if( INSTANCE == null )
INSTANCE = new LineReadWriteUtil(fields, fieldDelimiter, lineDelimiter);
+ else if( !INSTANCE.fields.equals(fields) || !INSTANCE.fieldDelimiter.equals(fieldDelimiter) || !INSTANCE.fieldDelimiter.equals(lineDelimiter))
+ return new LineReadWriteUtil(fields, fieldDelimiter, lineDelimiter);
return INSTANCE;
}
@@ -123,7 +129,10 @@ public class LineReadWriteUtil {
}
if( expectedFields.contains( FieldConstants.SEQ )
&& parsedFields.length > expectedFields.indexOf(FieldConstants.SEQ)) {
- seq = new BigInteger(parsedFields[expectedFields.indexOf(FieldConstants.SEQ)]);
+ try {
+ seq = new BigInteger(parsedFields[expectedFields.indexOf(FieldConstants.SEQ)]);
+ } catch( NumberFormatException nfe )
+ { LOGGER.warn("invalid sequence number {}", nfe); }
}
if( expectedFields.contains( FieldConstants.TS )
&& parsedFields.length > expectedFields.indexOf(FieldConstants.TS)) {