I've set up an AS system and have deployed an analysis engine to it.  I've sent 
test documents through the queue successfully using runRemoteAsyncAE.sh script. 
 Afterwards, I made a test program to send CAS that I auto generate.  Watching 
the queue, it looks like the CAS reaches to the delegate and gets processed.  
However, when I use uimaAsEngine.sendAndReceive(CAS), it seems to just sit 
there waiting for a return.  If I use uimaASEngine.send(CAS) I get a 
CannotResolveClassException regarding uimaContextPath.  I can't seem to find 
reference to setting a uimaContextPath in the docs or in the example script.  
When I stepped through the code execution, I find that that the exception is 
thrown at:

    com.thoughtworks.xtream.converters.reflection.AbstractReflectionConverter

    Class type = implicitCollectionMapping == null
                ? determineType(reader, fieldExistsInClass, result, fieldName, 
classDefiningField) 
                : implicitCollectionMapping.getItemType();

when the fieldName is "uimaContextPath".  It works fine for the first child 
where fieldName is "name".

What does this error mean?

I am calling the service using the example in the guide:

        Map<String, Object> appContext = new HashMap<String, Object>();
        appContext.put(UimaAsynchronousEngine.ServerUri, 
"tcp://${Broker}:61616");
        appContext.put(UimaAsynchronousEngine.Endpoint, "StanfordEngineQueue");
        appContext.put(UimaAsynchronousEngine.CasPoolSize, 1);

        uima.addStatusCallbackListener(new CallbackListener());
        uima.initialize(appContext);
        
        for (int i = 0; i < 1; i++) {
            CAS cas = uima.getCAS();
            cas.setDocumentText("This is just a test, Sam.");
            uima.sendCAS(cas);
            System.out.println("Sent CAS.");
        }

And the callback listener is pretty much a copy of the callback listener in the 
runRemoteAsyncAE.sh.

Reply via email to