{"id":12896,"date":"2024-03-15T01:36:40","date_gmt":"2024-03-15T01:36:40","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/"},"modified":"2025-08-05T08:25:28","modified_gmt":"2025-08-05T08:25:28","slug":"how-to-fix-the-issue-when-async-is-not-working-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/","title":{"rendered":"Fix Java @Async Not Working"},"content":{"rendered":"<p>Using the @Async annotation in Java to achieve asynchronous method calls requires the following steps:<\/p>\n<ol>\n<li>Enable asynchronous support in the configuration file of Spring Boot.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-attr\">spring.aop.proxy-target-class<\/span>=<span class=\"hljs-string\">true<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Add the @EnableAsync annotation to the main class of Spring Boot to enable asynchronous calling.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@SpringBootApplication<\/span>\r\n<span class=\"hljs-meta\">@EnableAsync<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Application<\/span> {\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        SpringApplication.run(Application.class, args);\r\n    }\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Add the @Async annotation on methods that need to be executed asynchronously.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Service<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyService<\/span> {\r\n    <span class=\"hljs-meta\">@Async<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> CompletableFuture&lt;String&gt; <span class=\"hljs-title function_\">asyncMethod<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-comment\">\/\/ \u5f02\u6b65\u6267\u884c\u7684\u65b9\u6cd5\u4f53<\/span>\r\n    }\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Obtain the results of asynchronous methods using CompletableFuture.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Service<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyService<\/span> {\r\n    <span class=\"hljs-meta\">@Async<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> CompletableFuture&lt;String&gt; <span class=\"hljs-title function_\">asyncMethod<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-comment\">\/\/ \u5f02\u6b65\u6267\u884c\u7684\u65b9\u6cd5\u4f53<\/span>\r\n        <span class=\"hljs-keyword\">return<\/span> CompletableFuture.completedFuture(<span class=\"hljs-string\">\"\u5f02\u6b65\u65b9\u6cd5\u6267\u884c\u5b8c\u6210\"<\/span>);\r\n    }\r\n}\r\n\r\n<span class=\"hljs-meta\">@RestController<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyController<\/span> {\r\n    <span class=\"hljs-meta\">@Autowired<\/span>\r\n    <span class=\"hljs-keyword\">private<\/span> MyService myService;\r\n\r\n    <span class=\"hljs-meta\">@GetMapping(\"\/async\")<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> CompletableFuture&lt;String&gt; <span class=\"hljs-title function_\">asyncEndpoint<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-keyword\">return<\/span> myService.asyncMethod();\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>If the @Async annotation is still not working, it may be due to the following reasons:<\/p>\n<ol>\n<li>Other methods in the same class are calling the asynchronous method. Spring cannot intercept the asynchronous method for processing when called within the same class. The asynchronous method needs to be placed in a different class for proper handling.<\/li>\n<li>The asynchronous method was not detected by the Spring container. Make sure the class containing the asynchronous method is annotated with @Component or @Service, and ensure it is properly scanned by the Spring container.<\/li>\n<li>The asynchronous method is not being called by a public method. Ensure that the asynchronous method is called by a public method, not by a private method within the same class.<\/li>\n<li>The wrong proxy mode was used. In the Spring configuration file, set spring.aop.proxy-target-class to true to use the CGLIB proxy mode. If set to false, the default JDK dynamic proxy mode will be used.<\/li>\n<\/ol>\n<p>If the above solutions do not work, you can try rebuilding the project, clearing the cache, and ensuring that the Spring Boot version you are using supports the usage of the @Async annotation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using the @Async annotation in Java to achieve asynchronous method calls requires the following steps: Enable asynchronous support in the configuration file of Spring Boot. spring.aop.proxy-target-class=true Add the @EnableAsync annotation to the main class of Spring Boot to enable asynchronous calling. @SpringBootApplication @EnableAsync public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[17002,17003,17001,4053],"class_list":["post-12896","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-enableasync","tag-asynchronous-java","tag-java-async","tag-spring-boot-async"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Fix Java @Async Not Working - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Quick fix for Java @Async issues: Enable async support in Spring Boot with @EnableAsync and proper configuration.\" \/>\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.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fix Java @Async Not Working\" \/>\n<meta property=\"og:description\" content=\"Quick fix for Java @Async issues: Enable async support in Spring Boot with @EnableAsync and proper configuration.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T01:36:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T08:25:28+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"Fix Java @Async Not Working\",\"datePublished\":\"2024-03-15T01:36:40+00:00\",\"dateModified\":\"2025-08-05T08:25:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/\"},\"wordCount\":254,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"@EnableAsync\",\"Asynchronous Java\",\"Java @Async\",\"Spring Boot async\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/\",\"name\":\"Fix Java @Async Not Working - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T01:36:40+00:00\",\"dateModified\":\"2025-08-05T08:25:28+00:00\",\"description\":\"Quick fix for Java @Async issues: Enable async support in Spring Boot with @EnableAsync and proper configuration.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fix Java @Async Not Working\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Fix Java @Async Not Working - Blog - Silicon Cloud","description":"Quick fix for Java @Async issues: Enable async support in Spring Boot with @EnableAsync and proper configuration.","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.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Fix Java @Async Not Working","og_description":"Quick fix for Java @Async issues: Enable async support in Spring Boot with @EnableAsync and proper configuration.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T01:36:40+00:00","article_modified_time":"2025-08-05T08:25:28+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"Fix Java @Async Not Working","datePublished":"2024-03-15T01:36:40+00:00","dateModified":"2025-08-05T08:25:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/"},"wordCount":254,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["@EnableAsync","Asynchronous Java","Java @Async","Spring Boot async"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/","name":"Fix Java @Async Not Working - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T01:36:40+00:00","dateModified":"2025-08-05T08:25:28+00:00","description":"Quick fix for Java @Async issues: Enable async support in Spring Boot with @EnableAsync and proper configuration.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-fix-the-issue-when-async-is-not-working-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Fix Java @Async Not Working"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=12896"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12896\/revisions"}],"predecessor-version":[{"id":156739,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12896\/revisions\/156739"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=12896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=12896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=12896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}