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
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