Package javax.jbi.messaging

Examples of javax.jbi.messaging.DeliveryChannel


    /**
     * Creates a new InOut exchange for the given service, interface and/or operation (any of which can be null).
     */
    public InOut createInOutExchange(QName service, QName interfaceName, QName operation) throws MessagingException {
        DeliveryChannel channel = getDeliveryChannel();
        MessageExchangeFactory factory = null;
        if (service != null) {
            factory = channel.createExchangeFactoryForService(service);
        }
        else if (interfaceName != null) {
            factory = channel.createExchangeFactory(interfaceName);
        }
        else {
            factory = getExchangeFactory();
        }
        InOut outExchange = factory.createInOutExchange();
View Full Code Here


    /**
     * Runnable implementation
     */
    public void run() {
        try {
            DeliveryChannel deliveryChannel = getDeliveryChannel();
            while (!stop.get()) {
                MessageExchange exchange = deliveryChannel.accept();
                if (exchange != null) {
                    try {
                        onMessageExchange(exchange);
                    } catch (MessagingException e) {
                        log.error("MessageExchange processing failed", e);
View Full Code Here

    }

    public void onMessageExchange(MessageExchange exchange) throws MessagingException {
        if (exchange.getStatus() != ExchangeStatus.DONE) {
            // lets create an endpoint
            DeliveryChannel deliveryChannel = getDeliveryChannel();
            MessageExchangeFactory rpcFactory = deliveryChannel.createExchangeFactory(requestResponseEndpoint);
            InOut rpc = rpcFactory.createInOutExchange();
            rpc.setInMessage(exchange.getMessage("in"));
            boolean answer = deliveryChannel.sendSync(rpc);
   
            MessageExchangeFactory outputFactory = deliveryChannel.createExchangeFactory(outputEndpoint);
            InOnly inOnly = outputFactory.createInOnlyExchange();
   
            if (answer) {
                inOnly.setInMessage(rpc.getOutMessage());
                deliveryChannel.send(inOnly);
                done(exchange);
            }
            else if (exchange instanceof InOnly == false) {
                inOnly.setError(rpc.getError());
                Fault fault = rpc.getFault();
View Full Code Here

    protected void doStart() throws Exception {
        this.meListener = new Thread(new Runnable() {
            public void run() {
                try {
                    DeliveryChannel channel = AbstractComponent.this.context.getDeliveryChannel();
                    while (true) {
                        final MessageExchange me = channel.accept();
                        if (me.isTransacted()) {
                            TransactionManager mgr = (TransactionManager) AbstractComponent.this.context.getTransactionManager();
                            Transaction tx = (Transaction) me.getProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME);
                            if (tx == mgr.getTransaction()) {
                                mgr.suspend();
View Full Code Here

    }

    // Helper methods for the rule base
    //-------------------------------------------------------------------------
    public void forwardToService(MessageExchange exchange, NormalizedMessage in, QName name) throws MessagingException {
        DeliveryChannel channel = getDeliveryChannel();
        MessageExchangeFactory factory = channel.createExchangeFactoryForService(name);
        InOnly outExchange = factory.createInOnlyExchange();
        forwardToExchange(exchange, outExchange, in);
    }
View Full Code Here

        forwardToExchange(exchange, outExchange, in);
    }


    public void forwardToInterface(QName name, MessageExchange exchange, NormalizedMessage in) throws MessagingException {
        DeliveryChannel channel = getDeliveryChannel();
        MessageExchangeFactory factory = channel.createExchangeFactory(name);
        InOnly outExchange = factory.createInOnlyExchange();
        forwardToExchange(exchange, outExchange, in);
    }
View Full Code Here

     * @param exchange
     * @param endpoint
     * @throws JBIException
     */
    protected void dispatchToSubscriber(MessageExchangeImpl exchange, InternalEndpoint endpoint) throws JBIException {
        DeliveryChannel channel = getDeliveryChannel();
        InOnly me = channel.createExchangeFactory().createInOnlyExchange();
        NormalizedMessage in = me.createMessage();
        getMessageTransformer().transform(me, exchange.getInMessage(), in);
        me.setInMessage(in);
        me.setEndpoint(endpoint);
        Set names = exchange.getPropertyNames();
        for (Iterator iter = names.iterator(); iter.hasNext();) {
            String name = (String) iter.next();
            me.setProperty(name, exchange.getProperty(name));
        }
        if (Boolean.TRUE.equals(exchange.getProperty(JbiConstants.SEND_SYNC))) {
            channel.sendSync(me);
        } else {
            channel.send(me);
        }
    }
View Full Code Here

                exchange.setInMessage(message);
                // lets set the XML as a byte[], String or DOM etc
                String xml = "<s12:Envelope xmlns:s12='http://www.w3.org/2003/05/soap-envelope'><s12:Body> <foo>Hello!</foo> </s12:Body></s12:Envelope>";
                message.setContent(new StringSource(xml));
                System.out.println("sending message: " + i);
                DeliveryChannel deliveryChannel = context.getDeliveryChannel();
                System.out.println("sync send on deliverychannel: " + deliveryChannel);
                if (sync) {
                  deliveryChannel.sendSync(exchange);
                } else {
                  deliveryChannel.send(exchange);
                }
            }
        }
        else {
            log.warn("No endpoints available for interface: " + interfaceName);
View Full Code Here

    // Runnable interface
    //-------------------------------------------------------------------------
    public void run() {
        while (running) {
            try {
                DeliveryChannel deliveryChannel = context.getDeliveryChannel();
                System.out.println("about to do an accept on deliveryChannel: " + deliveryChannel);
                MessageExchange messageExchange = deliveryChannel.accept();
                System.out.println("received me: " + messageExchange);
                onMessageExchange(messageExchange);
            }
            catch (MessagingException e) {
                log.error("Failed to process inbound messages: " + e, e);
View Full Code Here

     * Gets the delivery channel.
     *
     * @return delivery channel
     */
    public DeliveryChannel getChannel() {
        DeliveryChannel chnl = null;

        if (_context != null) {
            try {
                chnl = _context.getDeliveryChannel();
            } catch (Exception e) {
View Full Code Here

TOP

Related Classes of javax.jbi.messaging.DeliveryChannel

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.