Package org.masukomi.aspirin.core.store.queue

Examples of org.masukomi.aspirin.core.store.queue.QueueInfo


  public void run() {
    running = true;
    AspirinInternal.getLogger().info("DeliveryManager started.");
    while( running )
    {
      QueueInfo qi = null;
      try {
        qi = queueStore.next();
        if( qi != null )
        {
          MimeMessage message = get(qi);
          if( message == null )
          {
            AspirinInternal.getLogger().warn("No MimeMessage found for qi={}",qi);
            qi.setResultInfo("No MimeMessage found.");
            qi.setState(DeliveryState.FAILED);
            release(qi);
            continue;
          }
          DeliveryContext dCtx = new DeliveryContext()
            .setQueueInfo(qi)
View Full Code Here


    AspirinInternal.getLogger().info("DeliveryThread ({}).deliver(): Starting mail delivery. qi={}", new Object[]{getName(),dCtx});
    String[] handlerList = new String[]{
        ResolveHost.class.getCanonicalName(),
        SendMessage.class.getCanonicalName()
    };
    QueueInfo qInfo = dCtx.getQueueInfo();
    for( String handlerName : handlerList )
    {
      try {
        AspirinInternal.getDeliveryManager().getDeliveryHandler(handlerName).handle(dCtx);
      } catch (DeliveryException de) {
        qInfo.setResultInfo(de.getMessage());
        AspirinInternal.getLogger().info("DeliveryThread ({}).deliver(): Mail delivery failed: {}. qi={}", new Object[]{getName(),qInfo.getResultInfo(),dCtx});
        if( de.isPermanent() )
          qInfo.setState(DeliveryState.FAILED);
        else
          qInfo.setState(DeliveryState.QUEUED);
        return;
      }
    }
    if( qInfo.hasState(DeliveryState.IN_PROGRESS) )
    {
      if( qInfo.getResultInfo() == null )
        qInfo.setResultInfo("250 OK");
      AspirinInternal.getLogger().info("DeliveryThread ({}).deliver(): Mail delivery success: {}. qi={}", new Object[]{getName(),qInfo.getResultInfo(),dCtx});
      qInfo.setState(DeliveryState.SENT);
    }
  }
View Full Code Here

TOP

Related Classes of org.masukomi.aspirin.core.store.queue.QueueInfo

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.