在 Fi-Cloud 的 CEP 中进行开发时,我遇到了一个反复发生的问题。当我试图开发一个定义来执行任务时,CEP 的服务器和创作工具停止响应,尽管 ssh 仍然响应。
这个问题在我开发时发生。我正在使用 AuthoringTool 一点一点地更改定义,然后通过创作工具的导出功能将其重新上传到服务器。为了在每次更改时使用新定义重新启动质子,我使用 Google 的 Postman 进行这个单一操作:
-PUT(网址:http://{ip}:8080/ProtonOnWebServerAdmin/resources/instances/ProtonOnWebServer)标头:'Content-Type':'application/json';正文:{ “action”:“ChangeDefinitions”,“definitions-url”:“/ProtonOnWebServerAdmin/resources/definitions/Definition_Name” }
同时,我使用三个 ssh 实例登录,一个用于监视在 /opt/tomcat10/sample/ 上创建的文件和其他内容,另外两个用于 'tail -f' 定义写入的日志文件,在处理事件时:一个日志记录接收到的事件,另一个日志记录 EPAgent 检测到的事件。
我在开发过程中一遍又一遍地迭代这些过程,最终 CEP 服务器和创作工具停止响应。
通过“拖尾”tomcat 的日志文件(# tail -f /opt/tomcat10/logs/catalina.out),我可以看到,在这些情况下,如果我尝试:
-GET (url: http://{ip}:8080/ProtonOnWebServerAdmin/resources/instances/ProtonOnWebServer ) 我没有收到回复,tomcat 记录以下回复:
11452100 [http-bio-8080-exec-167] ERROR org.apache.wink.server.internal.RequestProcessor - An unhandled exception occurred which will be propagated to the container.
java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-bio-8080-exec-167" java.lang.OutOfMemoryError: PermGen space
ssh 仍然有响应,我可以这样查看 tomcat 的日志。为了克服这个问题并继续,我退出 ssh 连接并在 Fi-Cloud 中重新启动 CEP 的实例。
我用来重新上传和重新运行定义的程序是否不合适?我应该采取不同的开发方法吗?