diff --git a/amazon-kinesis-client/pom.xml b/amazon-kinesis-client/pom.xml
index 5b980803..e997e93a 100644
--- a/amazon-kinesis-client/pom.xml
+++ b/amazon-kinesis-client/pom.xml
@@ -77,12 +77,12 @@
software.amazon.glue
schema-registry-serde
- 1.1.1
+ 1.1.4
software.amazon.glue
schema-registry-common
- 1.1.1
+ 1.1.4
com.google.guava
@@ -324,6 +324,45 @@
+
+
+
+ org.codehaus.mojo
+ templating-maven-plugin
+ 1.0.0
+
+
+ generate-version-class
+
+ filter-sources
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ copy-dist
+ prepare-package
+
+ copy-resources
+
+
+ ${project.build.outputDirectory}
+
+
+ ${project.basedir}/target/generated-sources/java-templates/
+ false
+
+
+
+
+
+
+
+
diff --git a/amazon-kinesis-client/src/main/java-templates/KinesisClientLibraryPackage.java b/amazon-kinesis-client/src/main/java-templates/KinesisClientLibraryPackage.java
new file mode 100644
index 00000000..3c63e43d
--- /dev/null
+++ b/amazon-kinesis-client/src/main/java-templates/KinesisClientLibraryPackage.java
@@ -0,0 +1,5 @@
+package software.amazon.kinesis.common;
+
+public final class KinesisClientLibraryPackage {
+ public static final String VERSION = "${project.version}";
+}
\ No newline at end of file
diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/schemaregistry/SchemaRegistryDecoder.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/schemaregistry/SchemaRegistryDecoder.java
index 0418a00a..76415a85 100644
--- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/schemaregistry/SchemaRegistryDecoder.java
+++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/schemaregistry/SchemaRegistryDecoder.java
@@ -3,6 +3,7 @@ package software.amazon.kinesis.schemaregistry;
import com.amazonaws.services.schemaregistry.common.Schema;
import com.amazonaws.services.schemaregistry.deserializers.GlueSchemaRegistryDeserializer;
import lombok.extern.slf4j.Slf4j;
+import software.amazon.kinesis.common.KinesisClientLibraryPackage;
import software.amazon.kinesis.retrieval.KinesisClientRecord;
import java.nio.ByteBuffer;
@@ -14,11 +15,13 @@ import java.util.List;
*/
@Slf4j
public class SchemaRegistryDecoder {
+ private static final String USER_AGENT_APP_NAME = "kcl" + "-" + KinesisClientLibraryPackage.VERSION;
private final GlueSchemaRegistryDeserializer glueSchemaRegistryDeserializer;
public SchemaRegistryDecoder(
GlueSchemaRegistryDeserializer glueSchemaRegistryDeserializer) {
this.glueSchemaRegistryDeserializer = glueSchemaRegistryDeserializer;
+ this.glueSchemaRegistryDeserializer.overrideUserAgentApp(USER_AGENT_APP_NAME);
}
/**