Fiware CEP服务器停止响应

时间:2015-09-01 13:41:54

标签: fiware complex-event-processing fiware-cep

在Fi-Cloud的CEP开发过程中,我遇到了一个反复发生的问题。当我正在尝试开发执行任务的定义时,CEP的服务器和创作工具停止响应,尽管ssh仍然响应。

这个问题随着我的发展而发生。我正在使用AuthoringTool逐位更改定义,然后通过创作工具的导出功能将其重新上传到服务器。 每次我更改质子时都要使用新定义重新启动质子,我使用Google的Postman进行这一操作:

-PUT(url: http:// {ip}:8080 / ProtonOnWebServerAdmin / resources / instances / ProtonOnWebServer )   header:'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实例。

我正在使用的程序是否重新上传并重新运行定义?我应该采用不同的方法来开发吗?

1 个答案:

答案 0 :(得分:1)

当您更新CEP已经使用的定义,并且您希望CEP引擎使用更新的定义时,您需要:

  1. 使用创作工具导出导出定义(正如您所做)

  2. 使用REST PUT停止引擎运行

    PUT //host:8080/ProtonOnWebServerAdmin/resources/instances/ProtonOnWebServer
    {"action":"ChangeState","state":"stop"}
    
  3. 使用REST PUT启动引擎

    PUT //host:8080/ProtonOnWebServerAdmin/resources/instances/ProtonOnWebServer
    {"action":"ChangeState","state":"start"}
    
  4. 您无需激活“ ChangeDefinitions”操作,因为它与引擎已在使用的定义名称相同。

    激活“ChangeDefinitions”操作,仅影响下一次CEP运行,并且对当前运行没有影响。

    这回答了有关如何更新CEP定义的问题。 希望它能解决你的问题。