Hi Timo,

ah, thank you for your answer. I guess I just should have dug a bit deeper on 
my own intuition regarding the logger settings. I think I know where the error 
is (I mean besides the obvious answer "In front of the screen" ;-)). I didn't 
see it because there are several logger solutions in my current pipeline, it's 
a bit messy and I did not have time to clean this thing yet. And I know there 
are some logger settings which are screwed but I did not know it was UIMA (all 
other messages come through so I wasn't suspicious ;-)).

So thanks for the hint and have nice week! Greetings from Jena...

        Erik

Am 20.02.2012 um 10:01 schrieb Timo Boehme:

> 
> Am 18.02.2012 13:01, schrieb Erik Fäßler:
>> I had an odd problem when I realized not all of my documents were
>> actually treated by my consumer. I run a traditional CPE with 4
>> threads. After some time of research I came to note that my
>> consumer-AE had an exception thrown which I never saw. The exception
>> is thrown in this collectionProcessComplete method:
>> 
>> ...  
>>      } catch (SQLException e) {
>>              throw new AnalysisEngineProcessException(e.getNextException());
>>      }
>> 
>> I have to call e.printStackTrace() (or
>> e.getNextException().printStackTrace()) myself in order to get a
>> message about the error. I am running UIMA 2.3.1. How can it be an
>> Exception stays unreported? Have I messed up some logging options or
>> something? It seems I'm unaware of some fundamental thing about
>> exception handling in UIMA here and I would rather not have to search
>> for exceptions myself without knowing they even have been thrown :-)
> 
> UIMA catches all exceptions reaching it, even runtime exceptions via uncaught 
> exception handler. If you properly initialized the UIMA logging it should 
> report the exceptions (however I cannot tell you how :-) ).
> There is another way to get the exceptions:
> when you created the cpe instance, e.g. like
> CollectionProcessingEngine cpe = 
> UIMAFramework.produceCollectionProcessingEngine( cpeDesc );
> 
> you should add an own implementation of StatusCallbackListener via
> cpe.addStatusCallbackListener( cpeStatusListener )
> 
> in the StatusCallbackListener there is a method
> entityProcessComplete( CAS _cas, EntityProcessStatus _status )
> 
> with _status.isException() and _status.getExceptions() you can get the 
> exceptions occurred during processing and which components were involved 
> (_status.getFailedComponentNames()).
> 
> 
> Kind regards,
> 
> Timo
> 
> 
> -- 
> 
> Timo Boehme
> OntoChem GmbH
> H.-Damerow-Str. 4
> 06120 Halle/Saale
> T: +49 345 4780474
> F: +49 345 4780471
> [email protected]
> 
> _____________________________________________________________________
> 
> OntoChem GmbH
> Geschäftsführer: Dr. Lutz Weber
> Sitz: Halle / Saale
> Registergericht: Stendal
> Registernummer: HRB 215461
> _____________________________________________________________________
> 

Reply via email to