Jorn, you can use jConsole to quiesce the service. You must know the JMX
port number of the service for this. I can suggest that you set the
following before starting the service:
set UIMA_JVM_OPTS=-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8009
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Here the JMX MBeanServer is configured to run on port 8009. Start the
service in the background and than start jConsole.
Create a Remote Connection using:
service:jmx:rmi:///jndi/rmi://localhost:8009/jmxrmi
Replace localhost with the actual machine name (or IP)
Once the connection is created you can open:
org.apache.uima
ee.jms.service
<Your Annotator Name> Uima EE Service
Controller
Operations
Here you will find two buttons labeled:
CompleteProcessingAndStop
StopNow
CompleteProcessingAndStop will initiate quiesce
Regards, Jerry
On Thu, Oct 8, 2009 at 7:07 AM, Jörn Kottmann <[email protected]> wrote:
> Burn Lewis wrote:
>
>> We haven't been able to reproduce it ... probably depends on the version
>> of
>> Linux (or the JVM) ... the way nohup deals with stdin appears to vary.
>> Another change was published yesterday (check if bytes available before
>> reading) but if that doesn't fix it for you we'll have to catch
>> IOExceptions
>> from System.in ... since we can't test it would you mind adding a
>> try/catch
>> and verifying?
>>
>>
> Seems that it works now. Is there a way to quiesce a service
> with "q" when it is running in the background and redirecting
> its output to a file ?
>
> In my particular case its started like this:
>
> nohup bin/deployAsyncService.sh XXX/desc/Deploy_XXX.xml > console.out &
>
> Jörn
>