{"id":126579,"date":"2024-09-20T10:53:00","date_gmt":"2024-09-20T07:53:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=126579"},"modified":"2024-09-19T12:06:01","modified_gmt":"2024-09-19T09:06:01","slug":"message-conversion-in-spring-cloud-aws-v3","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html","title":{"rendered":"Message Conversion in Spring Cloud AWS v3"},"content":{"rendered":"<p><em>Message conversion<\/em> involves transforming messages between various formats and representations as they are sent and received by applications. <em>AWS SQS<\/em> supports text-based payloads, and Spring Cloud AWS integrates with SQS, offering Spring\u2019s familiar abstractions to handle the serialization and deserialization of text payloads to and from POJOs and records, with JSON as the default format. Let us delve into understanding Spring Cloud AWS v3 message conversion, focusing on how it manages serialization and deserialization of messages, including key use cases like POJO\/record handling, custom ObjectMapper configuration, and deserializing to subclass or interface implementations.<\/p>\n<h2><a name=\"section-1\"><\/a>1. Introduction<\/h2>\n<p><strong>Spring Cloud AWS<\/strong> simplifies the integration of AWS services like SQS, SNS, and more in Spring Boot applications. You can find the official documentation for Spring Cloud AWS <a href=\"https:\/\/spring.io\/projects\/spring-cloud-aws\" target=\"_blank\" rel=\"noopener\">here<\/a>. With AWS SDK v3, message handling, especially with JSON payloads, can be challenging. Spring Cloud AWS v3 provides support for converting messages to and from Java objects efficiently.<\/p>\n<h2><a name=\"section-2\"><\/a>2. Dependencies<\/h2>\n<p>To start with Spring Cloud AWS v3, add the following dependencies to your <code>pom.xml<\/code>:<\/p>\n<pre class=\"brush:xml; wrap-lines:false;\">&lt;dependencies&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-cloud-starter-aws-messaging&lt;\/artifactId&gt;\n        &lt;version&gt;3.0.0&lt;\/version&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;software.amazon.awssdk&lt;\/groupId&gt;\n        &lt;artifactId&gt;sqs&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;com.fasterxml.jackson.core&lt;\/groupId&gt;\n        &lt;artifactId&gt;jackson-databind&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n&lt;\/dependencies&gt;\n<\/pre>\n<p>The <code>pom.xml<\/code> defines a:<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<ul>\n<li><code>spring-cloud-starter-aws-messaging<\/code>: Provides support for AWS messaging services.<\/li>\n<li><code>software.amazon.awssdk.sqs<\/code>: The AWS SDK for working with SQS.<\/li>\n<li><code>jackson-databind<\/code>: Jackson library for serializing and deserializing JSON objects.<\/li>\n<\/ul>\n<h2><a name=\"section-3\"><\/a>3. Setting up the Local Test Environment<\/h2>\n<p>To avoid costs from using real AWS services, you can set up a local SQS service using tools like <a href=\"https:\/\/github.com\/localstack\/localstack\">LocalStack<\/a>. Add the following configurations to <code>application.yml<\/code> file present in the <code>resources<\/code> folder to point to the local SQS:<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">spring:\n  cloud:\n    aws:\n      sqs:\n        endpoint: http:\/\/localhost:4566\n        region: us-west-2\n<\/pre>\n<p>This YAML file helps to configure Spring Cloud AWS to use a local SQS endpoint instead of real AWS infrastructure.<\/p>\n<h2><a name=\"section-4\"><\/a>4. Setting up the Queue Names<\/h2>\n<p>Define queue names in <code>application.yml<\/code>:<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">cloud:\n  aws:\n    messaging:\n      queues:\n        input-queue: my-input-queue\n        output-queue: my-output-queue\n<\/pre>\n<p>These queue names will be referenced when sending or receiving messages in the application.<\/p>\n<h2><a name=\"section-5\"><\/a>5. Setting up the Application<\/h2>\n<p>Create a Spring Boot application that listens to messages on SQS. Start by creating an SQS listener:<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">@SqsListener(\"my-input-queue\")\npublic void receiveMessage(MyMessage myMessage) {\n    \/\/ Process message\n    System.out.println(\"Received: \" + myMessage);\n}\n<\/pre>\n<p>The <code>@SqsListener<\/code> annotation tells Spring to listen to the specified SQS queue. The incoming message is automatically converted into the <code>MyMessage<\/code> object.<\/p>\n<h2><a name=\"section-6\"><\/a>6. Processing POJOs and Records With Default Configuration<\/h2>\n<p>The default configuration uses Jackson to deserialize messages into POJOs. Below is an example of a POJO and how it gets processed:<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">public class MyMessage {\n    private String id;\n    private String content;\n\n    \/\/ Getters and Setters\n}\n<\/pre>\n<p>When a message arrives in JSON format like this:<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">{\n  \"id\": \"123\",\n  \"content\": \"Hello, World!\"\n}\n<\/pre>\n<p>It will be automatically converted to an instance of <code>MyMessage<\/code>.<\/p>\n<h2><a name=\"section-7\"><\/a>7. Configuring a Custom Object Mapper<\/h2>\n<p>If you need custom serialization\/deserialization behavior, you can configure a custom <code>ObjectMapper<\/code>:<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">@Bean\npublic ObjectMapper customObjectMapper() {\n    ObjectMapper objectMapper = new ObjectMapper();\n    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);\n    return objectMapper;\n}\n<\/pre>\n<p>This custom <code>ObjectMapper<\/code> ignores unknown properties in the incoming JSON, preventing errors when extra fields are present.<\/p>\n<h2><a name=\"section-8\"><\/a>8. Configuring Inheritance and Interfaces Deserialization<\/h2>\n<p>Handling deserialization for polymorphic types (like interfaces and inheritance) requires additional configuration. Consider the following class hierarchy:<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">public interface Message { }\n\npublic class TextMessage implements Message {\n    private String text;\n    \/\/ Getters and Setters\n}\n\npublic class ImageMessage implements Message {\n    private String url;\n    \/\/ Getters and Setters\n}\n<\/pre>\n<p>To deserialize based on the actual type, you can annotate the base class\/interface with Jackson annotations:<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = \"type\")\n@JsonSubTypes({\n    @JsonSubTypes.Type(value = TextMessage.class, name = \"text\"),\n    @JsonSubTypes.Type(value = ImageMessage.class, name = \"image\")\n})\npublic interface Message { }\n<\/pre>\n<p>The <code>@JsonTypeInfo<\/code> and <code>@JsonSubTypes<\/code> annotations enable Jackson to determine which concrete class to deserialize based on a &#8220;type&#8221; property in the JSON.<\/p>\n<h2><a name=\"section-9\"><\/a>9. Conclusion<\/h2>\n<p>Spring Cloud AWS v3 simplifies message conversion for AWS SQS, allowing developers to focus on processing business logic. With the default Jackson integration, POJO handling is seamless, and custom configurations enable more complex use cases, such as handling polymorphism and configuring custom mappers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Message conversion involves transforming messages between various formats and representations as they are sent and received by applications. AWS SQS supports text-based payloads, and Spring Cloud AWS integrates with SQS, offering Spring\u2019s familiar abstractions to handle the serialization and deserialization of text payloads to and from POJOs and records, with JSON as the default format. &hellip;<\/p>\n","protected":false},"author":26931,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[758,1584,992],"class_list":["post-126579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-aws","tag-localstack","tag-spring-cloud"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Message Conversion in Spring Cloud AWS v3 - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Spring cloud aws v3 message conversion: Learn Spring Cloud AWS v3 message conversion for handling POJO serialization and custom mapping.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Message Conversion in Spring Cloud AWS v3 - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Spring cloud aws v3 message conversion: Learn Spring Cloud AWS v3 message conversion for handling POJO serialization and custom mapping.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-20T07:53:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin Batra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin Batra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html\"},\"author\":{\"name\":\"Yatin Batra\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\"},\"headline\":\"Message Conversion in Spring Cloud AWS v3\",\"datePublished\":\"2024-09-20T07:53:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html\"},\"wordCount\":507,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"keywords\":[\"AWS\",\"LocalStack\",\"Spring Cloud\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html\",\"name\":\"Message Conversion in Spring Cloud AWS v3 - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2024-09-20T07:53:00+00:00\",\"description\":\"Spring cloud aws v3 message conversion: Learn Spring Cloud AWS v3 message conversion for handling POJO serialization and custom mapping.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"java-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/message-conversion-in-spring-cloud-aws-v3.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Message Conversion in Spring Cloud AWS v3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\",\"name\":\"Yatin Batra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"caption\":\"Yatin Batra\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\\\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\\\/\\\/www.javacodegeeks.com\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/yatin-batra\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Message Conversion in Spring Cloud AWS v3 - Java Code Geeks","description":"Spring cloud aws v3 message conversion: Learn Spring Cloud AWS v3 message conversion for handling POJO serialization and custom mapping.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html","og_locale":"en_US","og_type":"article","og_title":"Message Conversion in Spring Cloud AWS v3 - Java Code Geeks","og_description":"Spring cloud aws v3 message conversion: Learn Spring Cloud AWS v3 message conversion for handling POJO serialization and custom mapping.","og_url":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2024-09-20T07:53:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","type":"image\/jpeg"}],"author":"Yatin Batra","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin Batra","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html"},"author":{"name":"Yatin Batra","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d"},"headline":"Message Conversion in Spring Cloud AWS v3","datePublished":"2024-09-20T07:53:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html"},"wordCount":507,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","keywords":["AWS","LocalStack","Spring Cloud"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html","url":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html","name":"Message Conversion in Spring Cloud AWS v3 - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2024-09-20T07:53:00+00:00","description":"Spring cloud aws v3 message conversion: Learn Spring Cloud AWS v3 message conversion for handling POJO serialization and custom mapping.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","width":150,"height":150,"caption":"java-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/message-conversion-in-spring-cloud-aws-v3.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Message Conversion in Spring Cloud AWS v3"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d","name":"Yatin Batra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","caption":"Yatin Batra"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/www.javacodegeeks.com\/author\/yatin-batra"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/126579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/26931"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=126579"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/126579\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=126579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=126579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=126579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}