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