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); } /**