@Override protected Object extractPayload(Message message) throws JMSException { Object payload = extractMessage(message); if (message instanceof BytesMessage) { try { // In case the BytesMessage is going to be received as a user argument: // reset it, otherwise it would appear empty to such processing code... ((BytesMessage) message).reset(); } catch (JMSException ex) { // Continue since the BytesMessage typically won't be used any further. logger.debug("Failed to reset BytesMessage after payload extraction", ex); } } return payload; }
/** * Foreign message constructor */ public ActiveMQBytesMessage(final BytesMessage foreign, final ClientSession session) throws JMSException { super(foreign, ActiveMQBytesMessage.TYPE, session); foreign.reset(); byte[] buffer = new byte[1024]; int n = foreign.readBytes(buffer); while (n != -1) { writeBytes(buffer, 0, n); n = foreign.readBytes(buffer); } }
@Override public void sendAcknowledged(org.apache.activemq.artemis.api.core.Message clientMessage) { if (jmsMessage instanceof StreamMessage) { try { ((StreamMessage) jmsMessage).reset(); } catch (JMSException e) { // HORNETQ-1209 XXX ignore? } } if (jmsMessage instanceof BytesMessage) { try { ((BytesMessage) jmsMessage).reset(); } catch (JMSException e) { // HORNETQ-1209 XXX ignore? } } try { producer.connection.getThreadAwareContext().setCurrentThread(true); completionListener.onCompletion(jmsMessage); } finally { producer.connection.getThreadAwareContext().clearCurrentThread(true); } }
bytesMsg.reset(); ActiveMQBytesMessage msg = new ActiveMQBytesMessage(); msg.setConnection(connection);
/** * Test BytesMessage to FlowFile conversion * * @throws java.lang.Exception ex */ @Test public void testMap2FlowFileBytesMessage() throws Exception { TestRunner runner = TestRunners.newTestRunner(GetJMSQueue.class); BytesMessage bytesMessage = new ActiveMQBytesMessage(); String sourceString = "Apache NiFi is an easy to use, powerful, and reliable system to process and distribute data.!"; byte[] payload = sourceString.getBytes("UTF-8"); bytesMessage.writeBytes(payload); bytesMessage.reset(); ProcessContext context = runner.getProcessContext(); ProcessSession session = runner.getProcessSessionFactory().createSession(); ProcessorInitializationContext pic = new MockProcessorInitializationContext(runner.getProcessor(), (MockProcessContext) runner.getProcessContext()); JmsProcessingSummary summary = JmsConsumer.map2FlowFile(context, session, bytesMessage, true, pic.getLogger()); assertEquals("BytesMessage content length should equal to FlowFile content size", payload.length, summary.getLastFlowFile().getSize()); final byte[] buffer = new byte[payload.length]; runner.clearTransferState(); session.read(summary.getLastFlowFile(), new InputStreamCallback() { @Override public void process(InputStream in) throws IOException { StreamUtils.fillBuffer(in, buffer, false); } }); String contentString = new String(buffer, "UTF-8"); assertEquals("", sourceString, contentString); }
@Override public void reset() throws JMSException { message.reset(); } }
public void reset() throws JMSException { ((BytesMessage) message).reset(); }
/** * Reset * @exception JMSException Thrown if an error occurs */ public void reset() throws JMSException { if (_log.isTraceEnabled()) { _log.trace("reset()"); } ((BytesMessage)_message).reset(); }
if (message instanceof BytesMessage){ BytesMessage byteMessage = (BytesMessage) message; byte[] byteData = null; byteData = new byte[(int) byteMessage.getBodyLength()]; byteMessage.readBytes(byteData); byteMessage.reset(); stringMessage = new String(byteData); }
/** * Reset * * @throws JMSException Thrown if an error occurs */ @Override public void reset() throws JMSException { if (ActiveMQRALogger.LOGGER.isTraceEnabled()) { ActiveMQRALogger.LOGGER.trace("reset()"); } ((BytesMessage) message).reset(); }
/** * Reset * * @throws JMSException Thrown if an error occurs */ @Override public void reset() throws JMSException { if (ActiveMQRALogger.LOGGER.isTraceEnabled()) { ActiveMQRALogger.LOGGER.trace("reset()"); } ((BytesMessage) message).reset(); }
public InputStream getInputStream() throws IOException { try { message.reset(); } catch (JMSException ex) { throw new JMSExceptionWrapper(ex); } return new BytesMessageInputStream(message); }
public HornetQBytesMessage(final BytesMessage foreign, final ClientSession session) throws JMSException { super(foreign, HornetQBytesMessage.TYPE, session); foreign.reset(); byte[] buffer = new byte[1024]; int n = foreign.readBytes(buffer); while (n != -1) { writeBytes(buffer, 0, n); n = foreign.readBytes(buffer); } }
private MessageImpl convertBytesMessage(final BytesMessage message) throws JMSException { BytesMessageImpl bytesMessage = createBytesMessage(); message.reset(); byte[] buf = new byte[1024]; int len; while ((len = message.readBytes(buf)) != -1) { bytesMessage.writeBytes(buf, 0, len); } return bytesMessage; }
protected NevadoBytesMessage(BytesMessage message) throws JMSException { super(message); message.reset(); for(int count = 0 ; count < message.getBodyLength() ; ) { byte[] buffer = new byte[10240]; int numRead = message.readBytes(buffer); writeBytes(buffer, 0, numRead); count += numRead; } }
/** * Foreign message constructor */ public ActiveMQBytesMessage(final BytesMessage foreign, final ClientSession session) throws JMSException { super(foreign, ActiveMQBytesMessage.TYPE, session); foreign.reset(); byte[] buffer = new byte[1024]; int n = foreign.readBytes(buffer); while (n != -1) { writeBytes(buffer, 0, n); n = foreign.readBytes(buffer); } }
/** * Foreign message constructor */ public ActiveMQBytesMessage(final BytesMessage foreign, final ClientSession session) throws JMSException { super(foreign, ActiveMQBytesMessage.TYPE, session); foreign.reset(); byte[] buffer = new byte[1024]; int n = foreign.readBytes(buffer); while (n != -1) { writeBytes(buffer, 0, n); n = foreign.readBytes(buffer); } }
/** * Foreign message constructor */ public ActiveMQBytesMessage(final BytesMessage foreign, final ClientSession session) throws JMSException { super(foreign, ActiveMQBytesMessage.TYPE, session); foreign.reset(); byte[] buffer = new byte[1024]; int n = foreign.readBytes(buffer); while (n != -1) { writeBytes(buffer, 0, n); n = foreign.readBytes(buffer); } }
/** * Foreign message constructor */ public ActiveMQBytesMessage(final BytesMessage foreign, final ClientSession session) throws JMSException { super(foreign, ActiveMQBytesMessage.TYPE, session); foreign.reset(); byte[] buffer = new byte[1024]; int n = foreign.readBytes(buffer); while (n != -1) { writeBytes(buffer, 0, n); n = foreign.readBytes(buffer); } }
@Test public void testCopyOnForeignBytesMessage() throws JMSException { ClientMessage clientMessage = new ClientMessageImpl(ActiveMQTextMessage.TYPE, true, 0, System.currentTimeMillis(), (byte) 4, 1000); ClientSession session = new FakeSession(clientMessage); BytesMessage foreignBytesMessage = new SimpleJMSBytesMessage(); for (int i = 0; i < 20; i++) { foreignBytesMessage.writeByte((byte) i); } ActiveMQBytesMessage copy = new ActiveMQBytesMessage(foreignBytesMessage, session); foreignBytesMessage.reset(); copy.reset(); MessageHeaderTestBase.ensureEquivalent(foreignBytesMessage, copy); }