private <T extends RecordValue> RecordImpl<T> newRecord( final LoggedEvent event, final RecordMetadata metadata, final Function<LoggedEvent, T> valueSupplier) { return new RecordImpl<>( objectMapper, event.getKey(), event.getPosition(), Instant.ofEpochMilli(event.getTimestamp()), event.getRaftTerm(), event.getProducerId(), event.getSourceEventPosition(), metadata, valueSupplier.apply(event)); }
private <T extends RecordValue> RecordImpl<T> newRecord( final LoggedEvent event, final RecordMetadata metadata, final Function<LoggedEvent, T> valueSupplier) { return new RecordImpl<>( objectMapper, event.getKey(), event.getPosition(), Instant.ofEpochMilli(event.getTimestamp()), event.getRaftTerm(), event.getProducerId(), event.getSourceEventPosition(), metadata, valueSupplier.apply(event)); }
public static <U extends RecordValue> RecordImpl<U> ofLoggedEvent( final ExporterObjectMapper objectMapper, final LoggedEvent event, final RecordMetadataImpl metadata, final U value) { return new RecordImpl<>( objectMapper, event.getKey(), event.getPosition(), Instant.ofEpochMilli(event.getTimestamp()), event.getRaftTerm(), event.getProducerId(), event.getSourceEventPosition(), metadata, value); }
public static <U extends RecordValue> RecordImpl<U> ofLoggedEvent( final ExporterObjectMapper objectMapper, final LoggedEvent event, final RecordMetadataImpl metadata, final U value) { return new RecordImpl<>( objectMapper, event.getKey(), event.getPosition(), Instant.ofEpochMilli(event.getTimestamp()), event.getRaftTerm(), event.getProducerId(), event.getSourceEventPosition(), metadata, value); }
private long seekFromSnapshotPositionToLastSourceEvent() { long lastSourceEventPosition = -1L; if (!isReadOnlyProcessor && logStreamReader.hasNext()) { lastSourceEventPosition = snapshotPosition; while (logStreamReader.hasNext()) { final LoggedEvent newEvent = logStreamReader.next(); // ignore events from other producers if (newEvent.getProducerId() == streamProcessorContext.getId()) { final long sourceEventPosition = newEvent.getSourceEventPosition(); if (sourceEventPosition > 0 && sourceEventPosition > lastSourceEventPosition) { lastSourceEventPosition = sourceEventPosition; } } } // reset position logStreamReader.seek(snapshotPosition + 1); } return lastSourceEventPosition; }
private long seekFromSnapshotPositionToLastSourceEvent() { long lastSourceEventPosition = -1L; if (!isReadOnlyProcessor && logStreamReader.hasNext()) { lastSourceEventPosition = snapshotPosition; while (logStreamReader.hasNext()) { final LoggedEvent newEvent = logStreamReader.next(); // ignore events from other producers if (newEvent.getProducerId() == streamProcessorContext.getId()) { final long sourceEventPosition = newEvent.getSourceEventPosition(); if (sourceEventPosition > 0 && sourceEventPosition > lastSourceEventPosition) { lastSourceEventPosition = sourceEventPosition; } } } // reset position logStreamReader.seek(snapshotPosition + 1); } return lastSourceEventPosition; }
assertThat(writtenEvent.getProducerId()).isEqualTo(STREAM_PROCESSOR_ID);
assertThat(writtenEvent.getProducerId()).isEqualTo(STREAM_PROCESSOR_ID);
.hasRaftTerm(loggedEvent.getRaftTerm()) .hasSourceRecordPosition(loggedEvent.getSourceEventPosition()) .hasProducerId(loggedEvent.getProducerId()) .hasKey(loggedEvent.getKey()) .hasTimestamp(Instant.ofEpochMilli(loggedEvent.getTimestamp()));
.hasRaftTerm(loggedEvent.getRaftTerm()) .hasSourceRecordPosition(loggedEvent.getSourceEventPosition()) .hasProducerId(loggedEvent.getProducerId()) .hasKey(loggedEvent.getKey()) .hasTimestamp(Instant.ofEpochMilli(loggedEvent.getTimestamp()));