ArcGis Server 服务启动后自动停止的解决办法

ArcGis Server 服务启动后自动停止的解决办法最近ArcGISServer突然无法无法启动,启动后自动又停止了,网上找了很久,终于看到一位网友的解决办法:查看原文,但是这位大神给的代码有一些对于编程经验不足的人来说很致命的缺陷:中文字符以及转义字符导致程序直接运用是无效的。定位错误首先,我们需要知道具体是什么原因导致的错误,于是需要找到服

大家好,欢迎来到IT知识分享网。ArcGis

最近ArcGIS Server突然无法无法启动,启动后自动又停止了,网上找了很久,终于看到一位网友的解决办法:查看原文,但是这位大神给的代码有一些对于编程经验不足的人来说很致命的缺陷:中文字符以及转义字符导致程序直接运用是无效的。

定位错误

首先,我们需要知道具体是什么原因导致的错误,于是需要找到服务相关的日志位置,日志文件所在目录(Server安装目录下,我的在C盘):

C:\Program Files\ArcGIS\Server\framework\etc\service\logs
其中可以看到service.log和service_error.log两个文件,具体信息可以参考service_error.log

java.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ‘{’ at character 1 of
at com.esri.arcgis.discovery.logging.impl.LogService.d(LogService.java:326)
at com.esri.arcgis.discovery.logging.impl.LogService.(LogService.java:94)
at com.esri.arcgis.discovery.util.JMXServerController.createLogService(JMXServerController.java:64)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.registerLogService(NodeAgent.java:694)
at com.esri.arcgis.discovery.nodeagent.impl.NodeAgent.start(NodeAgent.java:290)
at com.esri.arcgis.discovery.nodeagent.impl.Main.start(Main.java:51)
Caused by: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ‘{’ at character 1 of
at com.esri.arcgis.discovery.json.JSONTokener.syntaxError(JSONTokener.java:454)
at com.esri.arcgis.discovery.json.JSONObject.(JSONObject.java:178)
at com.esri.arcgis.discovery.json.JSONObject.(JSONObject.java:276)
at com.esri.arcgis.discovery.logging.LogConfig.fromJSONString(LogConfig.java:208)
at com.esri.arcgis.discovery.logging.impl.LogService.d(LogService.java:285)

可以看到起具体错误为:
ava.lang.RuntimeException: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with ‘{’ at character 1 of
对于此错误,可以定位到 C:\Program Files\ArcGIS\Server\framework\etc 路径下(ArcGIS Server安装目录)的arcgis-logsettings.json文件,此时,文件用notepad打开为空,导致json解析错误,我们在该文件中添加如下内容即可解决:

{
  "logDir":"D:\\arcgisserver\\logs\\"
}

其中,logDir是ArcGIS Server站点的日志文件保存位置,记得一定是双反斜杠,因为在程序中,反斜杠通常是用作特殊字符转义的,还有,这里的双引号必须是英文字符。

如此,再次重启服务,就正常了。

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/33681.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信