[
https://issues.apache.org/jira/browse/EDGENT-400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dale LaBossiere updated EDGENT-400:
-----------------------------------
Attachment: Edgent400Workaround.java
> 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
> Attachments: Edgent400Workaround.java
>
>
> 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)