Examples of TwoWayCourier


Examples of org.jboss.soa.esb.couriers.TwoWayCourier

  private final void pickup (String url) throws Exception
  {
    FileEpr epr = getEpr(url);
    epr.setInputSuffix(".esbMessage");
    epr.setPostDelete(true);
    TwoWayCourier courier = CourierFactory.getPickupCourier(epr);

    Message message = null;
    while (null != (message = courier.pickup(100)))
      System.out.println(message.getHeader().getCall().getMessageID());
  }
View Full Code Here

Examples of org.jboss.soa.esb.couriers.TwoWayCourier

       
    FileEpr fromEpr = new FileEpr(toEpr.getURI());
    fromEpr.setInputSuffix(TEST_SUFFIX);
    fromEpr.setPostSuffix(DONE_SUFFIX);
   
    TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
    Message retrieved = pickUp.pickup(1000);
    Assert.assertFalse("Null message retrieved",null==retrieved);
   
    String back = new String((byte[]) retrieved.getBody().get());
    Assert.assertEquals(contents,back);
    _logger.info("Contents of retrieved msg equal original text <"+back+">");
View Full Code Here

Examples of org.jboss.soa.esb.couriers.TwoWayCourier

       
    FileEpr fromEpr = new FileEpr(toEpr.getURI());
    fromEpr.setInputSuffix(TEST_SUFFIX);
    fromEpr.setPostSuffix(DONE_SUFFIX);
   
    TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);

    try
    {
        Message retrieved = pickUp.pickup(1000);
        _logger.info(retrieved);
        Assert.fail();
    }
    catch (FaultMessageException ex)
    {
View Full Code Here

Examples of org.jboss.soa.esb.couriers.TwoWayCourier

       
    FileEpr fromEpr = new FileEpr(toEpr.getURI());
    fromEpr.setInputSuffix(TEST_SUFFIX);
    fromEpr.setPostSuffix(DONE_SUFFIX);
   
    TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
    Message retrieved = pickUp.pickup(1000);
    Assert.assertFalse("Null message retrieved",null==retrieved);
   
    String back = new String((byte[]) retrieved.getBody().get());
    Assert.assertEquals(contents,back);
    _logger.info("Contents of retrieved msg equal original text <"+back+">");
View Full Code Here

Examples of org.jboss.soa.esb.couriers.TwoWayCourier

    FileEpr fromEpr = new FileEpr(toEpr.getURI());
    fromEpr.setInputSuffix(TEST_SUFFIX);
    // setting postdelete to true will delete input Message files, if they were picked up
    fromEpr.setPostDelete(true);
   
    TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
    Message retrieved = pickUp.pickup(1000);
    Assert.assertFalse("Null message retrieved",null==retrieved);
   
    String back = new String((byte[]) retrieved.getBody().get());
    Assert.assertEquals(contents,back);
    _logger.info("Contents of retrieved msg equal original text <"+back+">");
View Full Code Here

Examples of org.jboss.soa.esb.couriers.TwoWayCourier

    fromEpr.setPostSuffix(DONE_SUFFIX);
    fromEpr.setErrorSuffix(ERROR_SUFFIX);
    // Don't delete - default is to delete files in error
    fromEpr.setErrorDelete(false);
   
    TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
    Message retrieved = pickUp.pickup(1000);
    Assert.assertTrue("Null message retrieved",null==retrieved);
   
    theFile = new File(_tmpDir,uid+TEST_SUFFIX+ERROR_SUFFIX);
    Assert.assertTrue(theFile.exists());
    _logger.info("Message file properly renamed to "+theFile.toString());
View Full Code Here

Examples of org.jboss.soa.esb.couriers.TwoWayCourier

    fromEpr.setInputSuffix(TEST_SUFFIX);
    fromEpr.setPostSuffix(DONE_SUFFIX);
    fromEpr.setErrorSuffix(ERROR_SUFFIX);
    // Not using setErrorDelete(false) should delete files in error
   
    TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
    Message retrieved = pickUp.pickup(1000);
    Assert.assertTrue("Null message retrieved",null==retrieved);
   
    FileFilter ff = new FileFilter()
    { public boolean accept(File file)
      {return file.getName().startsWith(uid); }
View Full Code Here

Examples of org.jboss.soa.esb.couriers.TwoWayCourier

         * @param epr         The EPR to be used in the delivery attempt.
         * @return Returns the message (or a reply message if synchronous) if the message was delivered
         *         without error, otherwise null.
         */
        private Message attemptDelivery(Message message, EPR epr) throws FaultMessageException, MalformedEPRException, MessageDeliverException {
            TwoWayCourier courier = null;

            final EPR targetEPR ;
            if ((extensions != null) && (extensions.size() > 0))
            {
                targetEPR = EPRHelper.copyEPR(epr, extensions) ;
            }
            else
            {
                targetEPR = epr ;
            }
            // Get a courier for the EPR...
            try {
                courier = getCourier(targetEPR);
            } catch (CourierException e) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Courier lookup failed for EPR [" + targetEPR + "] for Service [" + service + "] and Message ["+message.getHeader()+"].", e);
                }
            } catch (MalformedEPRException e) {
              // probably an ESB-unaware EPR in the registry!!

                logger.info("Badly formed EPR [" + targetEPR + "] for Service [" + service + "] and Message ["+message.getHeader()+"]." + e.getMessage());

                throw e;
            } catch (Throwable t) {
                logger.warn("Unexpected exception during Courier lookup for EPR [" + targetEPR + "] for Service [" + service + "] and Message ["+message.getHeader()+"].", t);
            }

            // Try delivering the message using the courier we just looked up....

            if (courier != null) {
                // make sure the message header does not change when we exit
                final Call call = message.getHeader().getCall() ;
                final EPR currentToEpr = call.getTo() ;
                final EPR currentReplyToEpr = call.getReplyTo() ;

                try {
                    call.setTo(targetEPR);

                    final EPR replyToEPR ;
                    if (synchronous) {
                        /*
                         * Currently all couriers that have transactional semantics work in a manner similar
                         * to JMS, i.e., messages are not delivered on to a queue (or to an endpoint) until
                         * the enclosing transaction has committed. In a synchronous invocation this will
                         * result in timeouts if the sending thread is also the terminating thread. We check
                         * for this here and throw an exception before we try to do a send so the application can
                         * figure it out.
                         *
                         * Note: if the transactional semantics change (e.g., to support true distributed transactions)
                         * then this will need to be modified too.
                         */
                       
                        if (isTransactional())
                            throw new IncompatibleTransactionScopeException("Request-response attempt within running transaction controlling request delivery! Using epr [" + targetEPR + "] for Service [" + service + "] and Message ["+message.getHeader()+"]");
                       
                        replyToEPR = (currentReplyToEpr == null ? getReplyToAddress(targetEPR) : currentReplyToEpr) ;

                        if (replyToEPR == null) {
                            if (logger.isDebugEnabled()) {
                                logger.debug("Not using epr [" + targetEPR + "] for Service [" + service + "] and Message ["+message.getHeader()+"]. No reply-to address available for synchronous response.");
                            }
                            return null;
                        }
                        call.setReplyTo(replyToEPR);
                    } else {
                        replyToEPR = null ;
                    }
                    if (courier.deliver(message)) {
                        if (synchronous) {
                            courier.cleanup() ;
                            // JBESB-1016 replyToEPR has to be non-null or we'd have dropped out by this point!

                            // do we need to do this for synchronous calls? Vagueries of Couriers?

                            courier.setReplyToEpr(replyToEPR);
                            final Message response = courier.pickup(timeout);
                            if (response == null) {
                                throw new ResponseTimeoutException("No response received within timeout period") ;
                            }
                            return response ;
                        } else {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.