/** * Pre tests the connection before starting the listening. * <p/> * In case of connection failure the exception is thrown which prevents Camel from starting. * * @throws FailedToCreateProducerException is thrown if testing the connection failed */ protected void testConnectionOnStartup() throws FailedToCreateProducerException { try { CamelJmsTemplate template = (CamelJmsTemplate) getInOnlyTemplate(); if (log.isDebugEnabled()) { log.debug("Testing JMS Connection on startup for destination: {}", template.getDefaultDestinationName()); } Connection conn = template.getConnectionFactory().createConnection(); JmsUtils.closeConnection(conn); log.debug("Successfully tested JMS Connection on startup for destination: {}", template.getDefaultDestinationName()); } catch (Exception e) { throw new FailedToCreateProducerException(getEndpoint(), e); } }
if (priority < 0 || priority > 9) { priority = this.getPriority();
JmsTemplate template = new CamelJmsTemplate(this, factory);
private Object doSendToDestination(final Destination destination, final MessageCreator messageCreator, final MessageSentCallback callback, final Session session) throws JMSException { Assert.notNull(messageCreator, "MessageCreator must not be null"); MessageProducer producer = createProducer(session, destination); Message message; try { message = messageCreator.createMessage(session); doSend(producer, message); if (message != null && callback != null) { callback.sent(session, message, destination); } // Check commit - avoid commit call within a JTA transaction. if (session.getTransacted() && isSessionLocallyTransacted(session)) { // Transacted session created by this template -> commit. JmsUtils.commitIfNecessary(session); } } finally { JmsUtils.closeMessageProducer(producer); } return null; }
public void send(final String destinationName, final MessageCreator messageCreator) throws JmsException { execute(new SessionCallback<Object>() { public Object doInJms(Session session) throws JMSException { Destination destination = resolveDestinationName(session, destinationName); return doSendToDestination(destination, messageCreator, null, session); } }, false); }
public void send(final String destinationName, final MessageCreator messageCreator, final MessageSentCallback callback) throws JmsException { execute(new SessionCallback<Object>() { public Object doInJms(Session session) throws JMSException { Destination destination = resolveDestinationName(session, destinationName); return doSendToDestination(destination, messageCreator, callback, session); } }, false); }
public void send(final Destination destination, final MessageCreator messageCreator) throws JmsException { execute(new SessionCallback<Object>() { public Object doInJms(Session session) throws JMSException { return doSendToDestination(destination, messageCreator, null, session); } }, false); }
public void send(final Destination destination, final MessageCreator messageCreator, final MessageSentCallback callback) throws JmsException { execute(new SessionCallback<Object>() { public Object doInJms(Session session) throws JMSException { return doSendToDestination(destination, messageCreator, callback, session); } }, false); }