public boolean waitCompletionOnStream(final long timeWait) throws JMSException { checkStream(); try { return message.waitOutputStreamCompletion(timeWait); } catch (HornetQException e) { throw JMSExceptionHelper.convertFromHornetQException(e); } }
public void saveToOutputStream(final OutputStream output) throws JMSException { checkStream(); if (!readOnly) { throw new IllegalStateException("OutputStream property is only valid on received messages"); } try { message.saveToOutputStream(output); } catch (HornetQException e) { throw JMSExceptionHelper.convertFromHornetQException(e); } }
public void acknowledge() throws JMSException { if (session != null) { try { if (individualAck) { message.individualAcknowledge(); } session.commit(); } catch (HornetQException e) { throw JMSExceptionHelper.convertFromHornetQException(e); } } }
public void setMessageListener(final MessageListener listener) throws JMSException { this.listener = listener; coreListener = listener == null ? null : new JMSMessageListenerWrapper(session, consumer, listener, ackMode); try { consumer.setMessageHandler(coreListener); } catch (HornetQException e) { throw JMSExceptionHelper.convertFromHornetQException(e); } }
public void close() throws JMSException { try { consumer.close(); if (autoDeleteQueueName != null) { // If non durable subscriber need to delete subscription too session.deleteQueue(autoDeleteQueueName); } session.removeConsumer(this); } catch (HornetQException e) { throw JMSExceptionHelper.convertFromHornetQException(e); } finally { closed = true; } }
private HornetQMessage getMessage(final long timeout, final boolean noWait) throws JMSException { try { ClientMessage message; if (noWait) { message = consumer.receiveImmediate(); } else { message = consumer.receive(timeout); } HornetQMessage msg = null; if (message != null) { msg = HornetQMessage.createMessage( message, (ackMode == Session.CLIENT_ACKNOWLEDGE | ackMode == HornetQJMSConstants.INDIVIDUAL_ACKNOWLEDGE) ? session.getCoreSession() : null); try { msg.doBeforeReceive(); } catch (Throwable e) { HornetQJMSLogger.LOGGER.errorPreparingMessage(e); return null; } // We Do the ack after doBeforeRecive, as in the case of large messages, this may fail so we // don't want messages redelivered // https://issues.jboss.org/browse/JBPAPP-6110 if (session.getAcknowledgeMode() == HornetQJMSConstants.INDIVIDUAL_ACKNOWLEDGE) { msg.setIndividualAcknowledge(); } else { message.acknowledge(); } } return msg; } catch (HornetQException e) { throw JMSExceptionHelper.convertFromHornetQException(e); } }