public synchronized void close()

in jbi/cluster/requestor/src/main/java/org/apache/servicemix/jbi/cluster/requestor/AbstractPollingRequestorPool.java [220:266]


        public synchronized void close() {
            if (session != null) {
                if (!suspended) {
                    try {
                        if (transacted == Transacted.Jms) {
                            if (rollbackOnly) {
                                session.rollback();
                            } else {
                                session.commit();
                            }
                            afterClose();
                        } else if (transacted == Transacted.Xa) {
                            destroy();
                            try {
                                if (rollbackOnly) {
                                    if (logger.isDebugEnabled()) {
                                        logger.debug("Rolling back XA transaction");
                                    }
                                    transactionManager.rollback();
                                } else {
                                    if (logger.isDebugEnabled()) {
                                        logger.debug("Committing XA transaction");
                                    }
                                    transactionManager.commit();
                                }
                            } catch (Exception e) {
                                throw new TransactionException(e);
                            }
                        } else if (transacted == Transacted.ClientAck) {
                            if (message != null) {
                                if (!rollbackOnly) {
                                    message.acknowledge();
                                } else {
                                    destroyConsumer();
                                }
                            }
                            afterClose();
                        } else {
                            afterClose();
                        }
                    } catch (JMSException e) {
                        destroy();
                        throw convertJmsAccessException(e);
                    }
                }
            }
        }