This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new bd1808f CAMEL-16627: camel-core - Add common header for source
timestamp
bd1808f is described below
commit bd1808f4e1418e60fb13e1bb4d9e1e913c45612b
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Jun 9 13:37:30 2021 +0200
CAMEL-16627: camel-core - Add common header for source timestamp
---
.../org/apache/camel/component/aws2/kinesis/Kinesis2Consumer.java | 4 ++++
.../java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java | 6 +++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git
a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Consumer.java
b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Consumer.java
index 58d083f..3446612 100644
---
a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Consumer.java
+++
b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Consumer.java
@@ -185,6 +185,10 @@ public class Kinesis2Consumer extends
ScheduledBatchPollingConsumer {
exchange.getIn().setHeader(Kinesis2Constants.APPROX_ARRIVAL_TIME,
record.approximateArrivalTimestamp());
exchange.getIn().setHeader(Kinesis2Constants.PARTITION_KEY,
record.partitionKey());
exchange.getIn().setHeader(Kinesis2Constants.SEQUENCE_NUMBER,
record.sequenceNumber());
+ if (record.approximateArrivalTimestamp() != null) {
+ long ts = record.approximateArrivalTimestamp().getEpochSecond() *
1000;
+ exchange.getIn().setHeader(Exchange.MESSAGE_TIMESTAMP, ts);
+ }
return exchange;
}
diff --git
a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
index 2c5192e..60e116f 100644
---
a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
+++
b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
@@ -392,7 +392,6 @@ public class AWS2S3Consumer extends
ScheduledBatchPollingConsumer {
message.setHeader(AWS2S3Constants.KEY, key);
message.setHeader(AWS2S3Constants.BUCKET_NAME,
getConfiguration().getBucketName());
message.setHeader(AWS2S3Constants.E_TAG, s3Object.response().eTag());
- message.setHeader(AWS2S3Constants.LAST_MODIFIED,
s3Object.response().lastModified());
message.setHeader(AWS2S3Constants.VERSION_ID,
s3Object.response().versionId());
message.setHeader(AWS2S3Constants.CONTENT_TYPE,
s3Object.response().contentType());
message.setHeader(AWS2S3Constants.CONTENT_LENGTH,
s3Object.response().contentLength());
@@ -404,6 +403,11 @@ public class AWS2S3Consumer extends
ScheduledBatchPollingConsumer {
message.setHeader(AWS2S3Constants.REPLICATION_STATUS,
s3Object.response().replicationStatus());
message.setHeader(AWS2S3Constants.STORAGE_CLASS,
s3Object.response().storageClass());
message.setHeader(AWS2S3Constants.METADATA,
s3Object.response().metadata());
+ if (s3Object.response().lastModified() != null) {
+ message.setHeader(AWS2S3Constants.LAST_MODIFIED,
s3Object.response().lastModified());
+ long ts = s3Object.response().lastModified().getEpochSecond() *
1000;
+ message.setHeader(Exchange.MESSAGE_TIMESTAMP, ts);
+ }
/*
* If includeBody == true, it is safe to close the object here because
the S3Object