草庐IT

SpringBoot中异步注解@Async介绍

全部标签

java - 为什么 @RequestMapping 注解在 java 中接受 String 参数而在 scala 中不接受?

阅读@RequestMapping文档:http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/bind/annotation/RequestMapping.html它的路径映射接受一个字符串数组参数。所以这可以使用java:@RequestMapping("MYVIEW")但在scala中我需要使用:@RequestMapping(Array("MYVIEW"))scala版本有意义,因为注释需要一个字符串数组。但是为什么上面在java中工作,它不应该给出编译时错误吗?下面的类“Arra

java - 我可以在方法体内使用注解吗?

允许Java注释的语义将它们放置在函数体内的某处,例如注释特定的函数调用、语句或表达式?例如:classMyClass{voidtheFunc(Thingthing){Strings=null;@Catching(NullPointerException)//缩写经常写的(太经常了,绝对是!):classMyClass{voidtheFunc(Thingthing){Strings=null;try{s=thing.getProp().getSub().getElem().getItem();}catch(NullPointerExceptionex){}if(s==null)Syst

java - 使用AspectJ的异步执行切面

问题来了-我正在使用Spring提供的@Async来异步执行一些方法。但是,因为它是基于代理的,所以如果从同一个类中调用该方法,它将不起作用。我确实需要从同一个类中调用我的异步方法。我知道如果我使用AspectJ而不是SpringAOP,我将能够做到这一点。所以我的问题是,有没有办法使用Spring的@Async和加载时间编织它?或者,是否已经编写了一个基于AspectJ的异步执行方面我可以使用,而不是自己编写? 最佳答案 是的,用@Async注释具体类的方法,把spring-aspectsJAR(包含异步方面)到你的类路径中,使用

java - 异步执行多个任务并在 JavaScript 函数中返回第一个成功的结果

我必须编写一个javaScript函数来将一些数据返回给调用者。在该函数中,我有多种方法来检索数据,即从缓存中查找从HTML5LocalStorage中检索从REST后端检索(奖励:将新数据放回缓存中)每个选项可能需要自己的时间才能完成,可能成功也可能失败。我想做的是,异步/并行地执行所有这三个选项,并返回先返回的结果。我知道在JavaScript中并行执行是不可能的,因为它是单线程的,但我想至少异步执行它们并在其中一个成功返回结果时取消其他任务。我还有一个问题。提前返回并继续执行JavaScript函数中的剩余任务。示例伪代码:functiongetOrder(id){varorde

java - Spring 不使用带注解的构造函数(@JsonCreator)进行实例化

我正在使用带有JavaConfig和Jackson2.4.3的Spring4.1.1。我的Controller看起来像这样:@RestControllerpublicinterfacePatientWebService{@RequestMapping(value="/patients",method=POST)PatientResourcecreatePatient(@RequestBodyPatientResourceresource);}我发送的json看起来像这样:{"firstName":"Max","lastName":"Mustermann","birthDate":"19

java - 如何保持线程执行直到异步线程返回回调

我的场景如下图所示这里的主线程是我的java应用程序。它打开一个WM线程来执行。WM处理任务执行。他需要调用任务号来执行。假设它包含任务T1,T2,T3T3依赖于T2,T2依赖于T1。WM首先调用RM执行T1的任务执行。T1可以在寻呼中响应,也可以在T1完成后响应。问题是如何等待T1完成然后开始T2的执行。当T1部分完成发送分页数据时如何通知WM。这是简单的场景,但在T1、T2、T3、T4的情况下。T3依赖于T1和T2。代码:publicclassTestAsyncimplementsTaskCallBack{publicstaticExecutorServiceexService=E

java - Spring取消@Async任务

我希望能够在它的future取消标有@Async注释的方法。我有一个用@Async注释标记的Spring方法。该方法进行一些计算,并最终返回一个结果。我见过的所有示例都建议使用AsyncResult类来返回此Future。@AsyncpublicFuturerun(){//...Computation.Minutespass...returnnewAsyncResult("Result");}我以下列方式从另一个组件调用以下方法。出于示例目的,我希望立即取消此线程:Futurefuture=component.run();future.cancel(true);在这种情况下,线程永远不

java - 使用 AspectJ 模拟接口(interface)和方法的注解继承

经常有人问AspectJ这样的问题,所以我想在以后可以轻松链接到的地方回答它。我有这个标记注释:packagede.scrum_master.app;importjava.lang.annotation.Inherited;importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;@Inherited@Retention(RetentionPolicy.RUNTIME)public@interfaceMarker{}现在我像这样注释接口(interface)和/或方法:packaged

java - 为什么 JUnit 5 测试不从抽象类继承 @Test 注解?

我刚刚意识到(在将遗留代码从JUnit4迁移到JUnit5时)我们的一些测试方法没有执行,因为它们没有@Test注释。他们没有它,因为它们覆盖了抽象父类(superclass)(存在注释的地方)的方法。我可以通过向每个方法添加@Test轻松解决此问题。但我想知道这是否是预期的行为。它从JUnit4更改为5,但我在officialJUnit5UserGuide中找不到任何相关信息或其他任何地方。根据thisquestion,注解通常不被继承。但似乎这是在新的JUnit版本中有意更改的。(或者我错过了什么?)抽象测试类importorg.junit.jupiter.api.Test;abs

Java 泛型和注解 : Type-Safe

我知道我可以做类似的事情:publicclassAbstractDao{}在这种情况下,Bean是一个类或接口(interface)。我想知道是否有办法用注释来做到这一点,比如:publicclassAbstractDao{}这样的事情可能吗?提前致谢! 最佳答案 不幸的是,注解中没有继承,所以这是不可能的。在这里查看类似问题的答案:WhyisnotpossibletoextendannotationsinJava? 关于Java泛型和注解:Type-Safe,我们在StackOverf