Hi Jerry,

the services are deployed in their own processes inside DUCC.

I added a Callbacklistener. But it wont trigger when the deployment of a new service was unsuccessful. In my understanding, my callback listener would get the error message in initializationComplete(EntityProcessStatus aStatus)?


Basically, I try to deploy a new AnalysisEngine with the 4 remote delegates. As i mentioned, one of these remote delegates are not reachable in my scenario.

My client gets stuck at BaseUIMAAsynchronousEngine_impl.deploy(String aDeploymentDescriptor, Map anApplicationContext). After the timeout, my client and the hole Main Thread just terminates.

The funny part is, that i cannot just put a try..catch(ResourceInitializationException) block around the part, where i deploy the new service. It wont catch the error.


-Wahed


On 29.11.2017 19:05, Jaroslaw Cwiklik wrote:
Try adding a callback listener to the client via

public void addStatusCallbackListener(UimaAsBaseCallbackListener aListener)

There is try ... catch block in the client code

} catch (ResourceInitializationException e) {
       state = ClientState.FAILED;
       notifyOnInitializationFailure(e);
       throw e;
     }

which should notify your code of the problem. Are you deploying your
services in
the same process as the application? Or are these services deployed in their
own processes?

Jerry


On Wed, Nov 29, 2017 at 12:00 PM, Wahed Hemati <hem...@em.uni-frankfurt.de>
wrote:

Hi,

i am trying to run  a pipeline of 4 annotators in UIMA AS. For this i use
the BaseUIMAAsynchronousEngine_impl.  The 4 annotators run as services.

I am creating a scenario, where i shut down one of these services. When i
try to run the same pipeline with the 4 annotators, obviously the pipeline
can not be initialized, because one of the delegates is not reachable.

I get the following exception:

org.apache.uima.resource.ResourceInitializationException
     at org.apache.uima.aae.controller.BaseAnalysisEngineController.
stop(BaseAnalysisEngineController.java:2001)
     at org.apache.uima.aae.controller.BaseAnalysisEngineController.
stop(BaseAnalysisEngineController.java:1898)
     at org.apache.uima.aae.controller.AggregateAnalysisEngineContro
ller_impl.stop(AggregateAnalysisEngineController_impl.java:3272)
     at org.apache.uima.aae.controller.BaseAnalysisEngineController.
terminate(BaseAnalysisEngineController.java:2184)
     at org.apache.uima.aae.controller.BaseAnalysisEngineController.
terminate(BaseAnalysisEngineController.java:2150)
     at org.apache.uima.aae.error.handler.GetMetaErrorHandler.handle
Error(GetMetaErrorHandler.java:104)
     at org.apache.uima.aae.error.ErrorHandlerChain.handle(ErrorHand
lerChain.java:57)
     at org.apache.uima.aae.delegate.ControllerDelegate.handleError(
ControllerDelegate.java:61)
     at org.apache.uima.aae.delegate.Delegate$2.run(Delegate.java:839)
     at java.util.TimerThread.mainLoop(Timer.java:555)
     at java.util.TimerThread.run(Timer.java:505)


The strange part is, that i cant get can not catch this exception in my
client application. My client application just shuts down after this
exception.

What is the best approach to catch this exception.

Is it possible to first "ping" each delegate, to see if its alive?


-Best

Wahed


Reply via email to