2015-09-01 70 views
1

在开发Fi-Cloud的CEP时,我一直有一个反复发生的问题。当我试图开发一个定义来执行任务时,CEP的服务器和创作工具停止响应,尽管ssh仍然是响应式的。Fiware CEP服务器停止响应

这个问题发生在我开发的时候。我使用AuthoringTool逐个修改定义,然后通过创作工具的导出功能将其重新上传到服务器。 每个I改变它的时候重新开始了质子与新的定义,我使用谷歌的邮差这个单人操作:

-put(网址:HTTP:// {} IP:8080/ProtonOnWebServerAdmin /资源/实例/ ProtonOnWebServer) header:'Content-Type':'application/json';正文:{“动作”: “ChangeDefinitions”, “定义的URL”: “/ ProtonOnWebServerAdmin /资源/定义/ Definition_Name”}

与此同时,我登录有三个SSH intances,一个监视正在/ opt/tomcat10/sample /和其他事情上创建的文件,另外两个处理事件时处理定义写入的'tail -f'日志文件:一个接收事件日志和另一个事件日志由EPAgent检测。

由于我正在开发和最终CEP服务器和创作工具停止响应,我一遍又一遍地遍历这些过程。

通过 “拖尾” Tomcat的日志文件(#尾-f /opt/tomcat10/logs/catalina.out)我可以看到,如果在这种情况下,如果我学尝试一个:

-GET(URL :HTTP:// {} IP:8080/ProtonOnWebServerAdmin /资源/实例/ 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

当您更新的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"} 
    

你并不需要激活“ChangeDefinitions”行动,因为它是相同定义名称,该引擎已经与合作。

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

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

+0

这可能是问题,我正在用“ChangeDefinitions”网址“更新”问题。我会以这种方式尝试。谢谢。 –