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
>

Reply via email to