@Override public T deserialize(byte[] messageKey, byte[] message, String topic, int partition, long offset) throws IOException { return deserializationSchema.deserialize(message); }
@Override public void run(SourceContext<OUT> ctx) throws Exception { while (runningChecker.isRunning()) { exceptionListener.checkErroneous(); Message message = consumer.receive(1000); if (! (message instanceof BytesMessage)) { LOG.warn("Active MQ source received non bytes message: {}", message); return; } BytesMessage bytesMessage = (BytesMessage) message; byte[] bytes = new byte[(int) bytesMessage.getBodyLength()]; bytesMessage.readBytes(bytes); OUT value = deserializationSchema.deserialize(bytes); synchronized (ctx.getCheckpointLock()) { ctx.collect(value); if (!autoAck) { addId(bytesMessage.getJMSMessageID()); unacknowledgedMessages.put(bytesMessage.getJMSMessageID(), bytesMessage); } } } }