Package org.apache.uima.aae.client

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


    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.WARNING)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, CLASS_NAME.getName(),
                  "notifyOnTimout", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                  "UIMAJMS_meta_timeout_WARNING", new Object[] { anEndpoint });
        }
        status.addEventStatus("GetMeta", "Failed", new UimaASMetaRequestTimeout("UIMA AS Client Timed Out Waiting For GetMeta Reply From a Service On Queue:"+anEndpoint));
        notifyListeners(null, status, AsynchAEMessage.GetMeta);
        abort = true;
        getMetaSemaphore.release();
        break;
      case (PingTimeout):
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.WARNING)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, CLASS_NAME.getName(),
                  "notifyOnTimout", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                  "UIMAJMS_meta_timeout_WARNING", new Object[] { anEndpoint });
        }
        status.addEventStatus("Ping", "Failed", new UimaASPingTimeout("UIMA AS Client Timed Out Waiting For Ping Reply From a Service On Queue:"+anEndpoint));
        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("UIMA AS Client Timed Out Waiting For CPC Reply From a Service On Queue:"+anEndpoint));
        // release the semaphore acquired in collectionProcessingComplete()
        cpcReplySemaphore.release();
        notifyListeners(null, status, AsynchAEMessage.CollectionProcessComplete);
        break;

      case (ProcessTimeout):
        if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.WARNING)) {
          UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, CLASS_NAME.getName(),
                  "notifyOnTimout", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
                  "UIMAJMS_process_timeout_WARNING", 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("UIMA AS Client Ping Time While Waiting For Reply From a Service On Queue:"+anEndpoint));
            serviceDelegate.resetPingTimeout();
          } else {
            exc = new UimaASProcessCasTimeout("UIMA AS Client Timed Out Waiting For CAS:"+casReferenceId+ " Reply From a Service On Queue:"+anEndpoint);
          }
          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

        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

                 }
                 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

    int payload = ((Integer) message.getIntProperty(AsynchAEMessage.Payload)).intValue();

    if (AsynchAEMessage.Exception == payload)
    {
      ProcessTrace pt = new ProcessTrace_impl();
      UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt);
      Exception exception = retrieveExceptionFormMessage(message);
      clientSideJmxStats.incrementMetaErrorCount();
      status.addEventStatus("GetMeta", "Failed", exception);
      notifyListeners(null, status, AsynchAEMessage.GetMeta);
      UIMAFramework.getLogger(CLASS_NAME).logrb(Level.FINEST, CLASS_NAME.getName(), "handleMetadataReply", JmsConstants.JMS_LOG_RESOURCE_BUNDLE, "UIMAJMS_received_exception_msg_INFO",
          new Object[] { message.getStringProperty(AsynchAEMessage.MessageFrom), message.getStringProperty(AsynchAEMessage.CasReference), exception });
      synchronized( metadataReplyMonitor )
      {
View Full Code Here

    UIMAFramework.getLogger(CLASS_NAME).logrb(Level.FINEST, CLASS_NAME.getName(), "handleProcessReply", JmsConstants.JMS_LOG_RESOURCE_BUNDLE, "UIMAJMS_received_exception_msg_INFO",
        new Object[] { message.getStringProperty(AsynchAEMessage.MessageFrom), message.getStringProperty(AsynchAEMessage.CasReference), exception });
    if ( doNotify )
    {
      ProcessTrace pt = new ProcessTrace_impl();
      UimaASProcessStatusImpl status = null; //  new UimaASProcessStatusImpl(pt);
      String casReferenceId = message.getStringProperty(AsynchAEMessage.CasReference);
      if ( casReferenceId != null && casReferenceId.trim().length() > 0)
      {
        //  Add Cas reference Id to enable matching replies with requests
        status = new UimaASProcessStatusImpl(pt, casReferenceId);
      }
      else
      {
        status = new UimaASProcessStatusImpl(pt);
      }
      status.addEventStatus("Process", "Failed", exception);
      notifyListeners(null, status, AsynchAEMessage.Process);
      //   Done here
      return;
    }
    else
View Full Code Here

        //  Log stats and populate ProcessTrace object
        logTimingInfo(message, pt, cachedRequest);
        if ( doNotify )
        {
          //  Add CAS identifier to enable matching replies with requests
          UimaASProcessStatusImpl status = new UimaASProcessStatusImpl(pt, casReferenceId);
          notifyListeners(cas, status, AsynchAEMessage.Process);
        }
      }
      finally
      {
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.