public void prepareExchange(MessageExchange exchange) throws MessagingException { getServiceUnit().getComponent().prepareExchange(exchange, this); }
protected void prepareExchange(MessageExchange exchange) throws MessagingException { Endpoint ep = getEndpoint(); ep.getServiceUnit().getComponent().prepareExchange(exchange, ep); }
public void onMessage(final Message message) { try { logger.debug("Received jms message {}", message); Context context = createContext(); MessageExchange exchange = toNMS(message, context); if (!(exchange instanceof InOnly)) { throw new UnsupportedOperationException("JCA consumer endpoints can only use InOnly MEP"); } exchange.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, transactionManager.getTransaction()); pendingMessages.put(exchange.getExchangeId(), context); if (endpoint.isSynchronous()) { channel.sendSync(exchange); process(exchange); } else { endpoint.getServiceUnit().getComponent().prepareExchange(exchange, endpoint); channel.send(exchange); } } catch (Throwable e) { logger.error("Error while handling jms message", e); } }