diff --git a/src/main/java/org/minbox/framework/sequence/leaf/common/PropertyFactory.java b/src/main/java/org/minbox/framework/sequence/leaf/common/PropertyFactory.java index f2e4a8d..e26aa91 100644 --- a/src/main/java/org/minbox/framework/sequence/leaf/common/PropertyFactory.java +++ b/src/main/java/org/minbox/framework/sequence/leaf/common/PropertyFactory.java @@ -4,8 +4,12 @@ import org.slf4j.LoggerFactory; import java.io.IOException; +import java.io.InputStream; import java.util.Properties; +/** + * 加载 leaf.properties + */ public class PropertyFactory { private static final Logger logger = LoggerFactory.getLogger(PropertyFactory.class); @@ -18,8 +22,10 @@ public static void setLeafName(String leafName){ } static { - try { - prop.load(PropertyFactory.class.getClassLoader().getResourceAsStream("leaf.properties")); + try (InputStream resourceAsStream = PropertyFactory.class.getClassLoader().getResourceAsStream("leaf.properties")) { + if (resourceAsStream != null) { + prop.load(resourceAsStream); + } } catch (IOException e) { logger.warn("Load Properties Ex", e); } diff --git a/src/test/java/org/minbox/framework/sequence/id/leaf/SnowflakeIDGenImplTest.java b/src/test/java/org/minbox/framework/sequence/id/leaf/SnowflakeIDGenImplTest.java index f0b7431..07ad2c1 100644 --- a/src/test/java/org/minbox/framework/sequence/id/leaf/SnowflakeIDGenImplTest.java +++ b/src/test/java/org/minbox/framework/sequence/id/leaf/SnowflakeIDGenImplTest.java @@ -5,19 +5,25 @@ import org.minbox.framework.sequence.leaf.exception.InitException; import org.minbox.framework.sequence.leaf.facade.LeafSnowflakeSequenceGen; -import java.util.Properties; - public class SnowflakeIDGenImplTest { @Test public void testGetId() throws InitException { - Properties properties = PropertyFactory.getProperties(); - PropertyFactory.setLeafName(properties.getProperty("snawflake.name")); - LeafSnowflakeSequenceGen sequenceGen = new LeafSnowflakeSequenceGen(properties.getProperty("zk.list") - , Integer.parseInt(properties.getProperty("snowflake.port"))); + // Properties properties = PropertyFactory.getProperties(); + // PropertyFactory.setLeafName(properties.getProperty("snawflake.name")); + LeafSnowflakeSequenceGen sequenceGen = new LeafSnowflakeSequenceGen("dev-zk.lls.com:2181" + , 8688); for (int i = 1; i < 1000; ++i) { long a = sequenceGen.get("a"); System.out.println(a); } } + + /** + * 当 properties 文件不存在的时候防止启动报错 + */ + @Test + public void testProperties() { + PropertyFactory.getProperties().getProperty("ss"); + } } \ No newline at end of file