Package org.apache.uima.aae.client

Examples of org.apache.uima.aae.client.UimaASProcessStatusImpl


                 }
                 if (pm.getMessageType() == AsynchAEMessage.Process) {
                   cacheEntry.setCASDepartureTime(System.nanoTime());
                 }
                 cacheEntry.setCASDepartureTime(System.nanoTime());
                 UimaASProcessStatus status = new UimaASProcessStatusImpl(new ProcessTrace_impl(),
                         cacheEntry.getCasReferenceId());
                 // Notify engine before sending a message
                 engine.onBeforeMessageSend(status);
               }
             }
View Full Code Here


      callbackListener = aListener;
    }

    // Run until All CASes are sent
    public void run() {
      UimaASProcessStatusImpl status = null;
      try {
        while (howManyCASes-- > 0) {
          CAS cas = uimaClient.getCAS();
          cas.setDocumentText(text);
          ProcessTrace pt = new ProcessTrace_impl();

          try {
            // Send CAS and wait for a response
            String casReferenceId = uimaClient.sendAndReceiveCAS(cas, pt);
            status = new UimaASProcessStatusImpl(pt, casReferenceId);
          } catch (ResourceProcessException rpe) {
            //rpe.printStackTrace();
            status = new UimaASProcessStatusImpl(pt);
            status.addEventStatus("Process", "Failed", rpe);
          } finally {
            if ( callbackListener != null ) {
              callbackListener.entityProcessComplete(cas, status);
            }
            cas.release();
View Full Code Here

  protected void handleCollectionProcessCompleteReply(Message message) throws Exception {
    int payload = ((Integer) message.getIntProperty(AsynchAEMessage.Payload)).intValue();
    try {
      if (AsynchAEMessage.Exception == payload) {
        ProcessTrace pt = new ProcessTrace_impl();
        UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt);
        Exception exception = retrieveExceptionFromMessage(message);

        status.addEventStatus("CpC", "Failed", exception);
        notifyListeners(null, status, AsynchAEMessage.CollectionProcessComplete);
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(
                  Level.INFO,
                  CLASS_NAME.getName(),
View Full Code Here

        if (cachedRequest != null) {
          sendCAS(cachedRequest.getCAS(), cachedRequest);
        }
      } else {
        ProcessTrace pt = new ProcessTrace_impl();
        UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt);
        notifyListeners(null, status, AsynchAEMessage.GetMeta);
      }
      // Handled Ping reply
      return;
    }
    int payload = ((Integer) message.getIntProperty(AsynchAEMessage.Payload)).intValue();
    removeFromCache(uniqueIdentifier);

    try {
      if (AsynchAEMessage.Exception == payload) {
        ProcessTrace pt = new ProcessTrace_impl();
        UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt);
        Exception exception = retrieveExceptionFromMessage(message);
        clientSideJmxStats.incrementMetaErrorCount();
        status.addEventStatus("GetMeta", "Failed", exception);
        notifyListeners(null, status, AsynchAEMessage.GetMeta);
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(
                  Level.INFO,
                  CLASS_NAME.getName(),
View Full Code Here

    return false;
  }
  protected void handleNonProcessException(Exception exception )
  throws Exception {
    ProcessTrace pt = new ProcessTrace_impl();
    UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt);
    clientSideJmxStats.incrementMetaErrorCount();
    status.addEventStatus("GetMeta", "Failed", exception);
    notifyListeners(null, status, AsynchAEMessage.GetMeta);
  }
View Full Code Here

        } else if (casReferenceId != null ) {
          serviceDelegate.removeCasFromOutstandingList(casReferenceId);
        }

        // Add Cas referenceId(s) to enable matching replies with requests (ids may be null)
        UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt, casReferenceId,
                inputCasReferenceId);

        status.addEventStatus("Process", "Failed", exception);
        if (cachedRequest != null && !cachedRequest.isSynchronousInvocation()
                && cachedRequest.getCAS() != null) {
          notifyListeners(cachedRequest.getCAS(), status, AsynchAEMessage.Process);
        } else {
          notifyListeners(null, status, AsynchAEMessage.Process);
View Full Code Here

      }
      try {
        // Log stats and populate ProcessTrace object
        logTimingInfo(message, pt, cachedRequest);
        if (doNotify) {
          UimaASProcessStatusImpl status;
          String inputCasReferenceId = message.getStringProperty(AsynchAEMessage.InputCasReference);
          if (inputCasReferenceId != null
                  && inputCasReferenceId.equals(cachedRequest.getCasReferenceId())) {
            status = new UimaASProcessStatusImpl(pt, casReferenceId, inputCasReferenceId);
          } else {
            status = new UimaASProcessStatusImpl(pt, casReferenceId);
          }
          // Add CAS identifier to enable matching replies with requests
          notifyListeners(cas, status, AsynchAEMessage.Process);
        }
      } finally {
View Full Code Here

  }

  protected void notifyOnTimout(CAS aCAS, String anEndpoint, int aTimeoutKind, String casReferenceId) {

    ProcessTrace pt = new ProcessTrace_impl();
    UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt, casReferenceId);

    switch (aTimeoutKind) {
      case (MetadataTimeout):
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(Level.INFO, CLASS_NAME.getName(),
                  "notifyOnTimout", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                  "UIMAJMS_meta_timeout_INFO", new Object[] { anEndpoint });
        }
        status.addEventStatus("GetMeta", "Failed", new UimaASMetaRequestTimeout());
        notifyListeners(null, status, AsynchAEMessage.GetMeta);
        abort = true;
        getMetaSemaphore.release();
        break;
      case (PingTimeout):
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(Level.INFO, CLASS_NAME.getName(),
                  "notifyOnTimout", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                  "UIMAJMS_meta_timeout_INFO", new Object[] { anEndpoint });
        }
        status.addEventStatus("Ping", "Failed", new UimaASPingTimeout());
        notifyListeners(null, status, AsynchAEMessage.Ping);
        // The main thread could be stuck waiting for a CAS. Grab any CAS in the
        // client cache and release it so that we can shutdown.
        if (!clientCache.isEmpty()) {
          ClientRequest anyCasRequest = clientCache.elements().nextElement();
          if (anyCasRequest.getCAS() != null) {
            anyCasRequest.getCAS().release();
          }
        }
        abort = true;
        break;
      case (CpCTimeout):
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(Level.INFO, CLASS_NAME.getName(),
                  "notifyOnTimout", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                  "UIMAJMS_cpc_timeout_INFO", new Object[] { anEndpoint });
        }
        status.addEventStatus("CpC", "Failed", new UimaASCollectionProcessCompleteTimeout());
        // release the semaphore acquired in collectionProcessingComplete()
        cpcReplySemaphore.release();
        notifyListeners(null, status, AsynchAEMessage.CollectionProcessComplete);
        break;

      case (ProcessTimeout):
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(Level.INFO, CLASS_NAME.getName(),
                  "notifyOnTimout", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                  "UIMAJMS_process_timeout_INFO", new Object[] { anEndpoint });
        }
        ClientRequest cachedRequest = (ClientRequest) clientCache.get(casReferenceId);
        if (cachedRequest == null) {
          if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
            // if missing for any reason ...
            UIMAFramework.getLogger(CLASS_NAME).logrb(Level.INFO, CLASS_NAME.getName(),
                    "handleProcessReply", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                    "UIMAJMS_received_expired_msg_INFO",
                    new Object[] { anEndpoint, casReferenceId });
          }
          return;
        }
        // Store the total latency for this CAS. The departure time is set right before the CAS
        // is sent to a service.
        cachedRequest.setTimeWaitingForReply(System.nanoTime()
                - cachedRequest.getCASDepartureTime());

        // mark timeout exception
        cachedRequest.setTimeoutException();

        if (cachedRequest.isSynchronousInvocation()) {
          // Signal a thread that we received a reply, if in the map
          if (threadMonitorMap.containsKey(cachedRequest.getThreadId())) {
            ThreadMonitor threadMonitor = (ThreadMonitor) threadMonitorMap.get(cachedRequest
                    .getThreadId());
            // Unblock the sending thread so that it can complete processing with an error
            if (threadMonitor != null) {
              threadMonitor.getMonitor().release();
              cachedRequest.setReceivedProcessCasReply(); // should not be needed
            }
          }
        } else {
          // notify the application listener with the error
          if ( serviceDelegate.isPingTimeout()) {
            exc = new UimaASProcessCasTimeout(new UimaASPingTimeout());
            serviceDelegate.resetPingTimeout();
          } else {
            exc = new UimaASProcessCasTimeout();
          }
          status.addEventStatus("Process", "Failed", exc);
          notifyListeners(aCAS, status, AsynchAEMessage.Process);
        }
        cachedRequest.removeEntry(casReferenceId);
        serviceDelegate.removeCasFromOutstandingList(casReferenceId);
        // Check if all replies have been received
View Full Code Here

                 }
                 if (pm.getMessageType() == AsynchAEMessage.Process) {
                   cacheEntry.setCASDepartureTime(System.nanoTime());
                 }
                 cacheEntry.setCASDepartureTime(System.nanoTime());
                 UimaASProcessStatus status = new UimaASProcessStatusImpl(new ProcessTrace_impl(),cacheEntry.getCAS(),
                         cacheEntry.getCasReferenceId());
                 // Notify engine before sending a message
                 if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.FINE)) {
                     UIMAFramework.getLogger(CLASS_NAME).logrb(
                             Level.FINE,
View Full Code Here

        LOG.warn("Error on initializing: " + aStatus.getStatusMessage());
      }
    }

    public void entityProcessComplete(CAS aCas, EntityProcessStatus aStatus) {
      UimaASProcessStatusImpl statusImpl = (UimaASProcessStatusImpl) aStatus;

      String referenceId = statusImpl.getCasReferenceId();
     
      ExchangeAsyncCallbackPair exchangeCallbackPair;
     
      synchronized (intermediateMap) {
        exchangeCallbackPair = intermediateMap.remove(referenceId);
View Full Code Here

TOP

Related Classes of org.apache.uima.aae.client.UimaASProcessStatusImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.