You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@edgent.apache.org by "Dale LaBossiere (JIRA)" <ji...@apache.org> on 2017/03/23 11:44:41 UTC
[jira] [Created] (EDGENT-400) IotProvider stopApp, startApp fails
due to control beans already registered
Dale LaBossiere created EDGENT-400:
--------------------------------------
Summary: IotProvider stopApp, startApp fails due to control beans already registered
Key: EDGENT-400
URL: https://issues.apache.org/jira/browse/EDGENT-400
Project: Edgent
Issue Type: Bug
Components: Providers
Reporter: Dale LaBossiere
Encountered the problem with a topology using poll() and a stream alias, hence a PeriodMXBean was registered. A stop cmd (JobMXBean.stateChange(CLOSE)) leaves the control registered. A subsequent start cmd (ApplicationServiceMXBean.submit()) fails because the control is already registered.
{code}
top.poll(...).alias("sensorPollStream").print();
{code}
A start cmd after stopping the app yields:
{code}
SEVERE: Control id: stream:sensorPollStream already exists
Mar 22, 2017 3:03:24 PM org.apache.edgent.runtime.etiao.Executable invokeAction
SEVERE: Exception caught while invoking action: {}
java.util.concurrent.ExecutionException: java.lang.IllegalStateException
...
Caused by: java.lang.IllegalStateException
at org.apache.edgent.runtime.jsoncontrol.JsonControlService.registerControl(JsonControlService.java:123)
at org.apache.edgent.oplet.core.PeriodicSource.start(PeriodicSource.java:57)
at org.apache.edgent.runtime.etiao.Invocation.start(Invocation.java:189)
...
{code}
I'll attach a workaround that a topology builder can utilize that mostly seems to work.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)