diff --git a/scouter.server/src/scouter/server/CounterManager.java b/scouter.server/src/scouter/server/CounterManager.java index bbe4f2f3a..cfef77c90 100644 --- a/scouter.server/src/scouter/server/CounterManager.java +++ b/scouter.server/src/scouter/server/CounterManager.java @@ -109,12 +109,14 @@ public synchronized boolean addFamily(Family family) { public synchronized boolean addFamilyAndObjectType(Family family, ObjectType objectType) { Document doc = appendFamily(family, getCustomDocument()); - doc = appendObjectType(objectType, doc); if (doc != null) { - XmlUtil.writeXmlFileWithIndent(doc, customFile, 2); - xmlCustomContent = FileUtil.readAll(customFile); - reloadEngine(); - return true; + doc = appendObjectType(objectType, doc); + if (doc != null) { + XmlUtil.writeXmlFileWithIndent(doc, customFile, 2); + xmlCustomContent = FileUtil.readAll(customFile); + reloadEngine(); + return true; + } } return false; } diff --git a/scouter.server/src/scouter/server/http/handler/CounterHandler.java b/scouter.server/src/scouter/server/http/handler/CounterHandler.java index 3849db510..ae130c386 100644 --- a/scouter.server/src/scouter/server/http/handler/CounterHandler.java +++ b/scouter.server/src/scouter/server/http/handler/CounterHandler.java @@ -65,13 +65,16 @@ public static void process(Reader in) { try { JSONObject json = (JSONObject) parser.parse(in); JSONObject objectInfo = (JSONObject) json.get("object"); - ObjectPack objPack = extractObjectPack(objectInfo); - InetAddress addr = extractIpv4Address(objectInfo); - passToNetDataProcessor(objPack, addr); - - JSONArray perfArray = (JSONArray) json.get("counters"); - PerfCounterPack perfPack = extractPerfCounterPack(perfArray, objPack.objName); - passToNetDataProcessor(perfPack, addr); + if (objectInfo != null) { + ObjectPack objPack = extractObjectPack(objectInfo); + InetAddress addr = extractIpv4Address(objectInfo); + passToNetDataProcessor(objPack, addr); + JSONArray perfArray = (JSONArray) json.get("counters"); + if (perfArray != null) { + PerfCounterPack perfPack = extractPerfCounterPack(perfArray, objPack.objName); + passToNetDataProcessor(perfPack, addr); + } + } } catch(Throwable th) { scouter.server.Logger.println("SC-8000", 30, "Http body parsing error", th); }