Returning Mono from @Around method of aspect The 2019 Stack Overflow Developer Survey Results Are InSpring, Aspect J, multiple AfterThrowing advice applied to the same pointcutSpring Aspect fails when join point is invoked in new threadSpring AOP: @AfterThrowing execution pointcut never matchesSpring: cannot inject a mock into class annotated with the @Aspect annotationHow exactly does an @Around advice work in Spring AOP?Spring AOP pointcut by declared return typeHow to log exception details in Spring AOP with try with empty catch block?How to register or provide pointcuts on the fly to an AspectWildcard support on package name in Spring AOP pointcut expressionSpring AOP using @around throws org.springframework.beans.factory.BeanCreationException when I start the application
How do PCB vias affect signal quality?
Why don't hard Brexiteers insist on a hard border to prevent illegal immigration after Brexit?
RequirePermission not working
Can withdrawing asylum be illegal?
How to quickly solve partial fractions equation?
Why not take a picture of a closer black hole?
If I score a critical hit on an 18 or higher, what are my chances of getting a critical hit if I roll 3d20?
Old scifi movie from the 50s or 60s with men in solid red uniforms who interrogate a spy from the past
Mathematics of imaging the black hole
For what reasons would an animal species NOT cross a *horizontal* land bridge?
How to type this arrow in math mode?
Can there be female White Walkers?
Output the Arecibo Message
What force causes entropy to increase?
How to translate "being like"?
The phrase "to the numbers born"?
Geography at the pixel level
Getting crown tickets for Statue of Liberty
How did passengers keep warm on sail ships?
How come people say “Would of”?
Likelihood that a superbug or lethal virus could come from a landfill
Is bread bad for ducks?
Can we generate random numbers using irrational numbers like π and e?
Loose spokes after only a few rides
Returning Mono from @Around method of aspect
The 2019 Stack Overflow Developer Survey Results Are InSpring, Aspect J, multiple AfterThrowing advice applied to the same pointcutSpring Aspect fails when join point is invoked in new threadSpring AOP: @AfterThrowing execution pointcut never matchesSpring: cannot inject a mock into class annotated with the @Aspect annotationHow exactly does an @Around advice work in Spring AOP?Spring AOP pointcut by declared return typeHow to log exception details in Spring AOP with try with empty catch block?How to register or provide pointcuts on the fly to an AspectWildcard support on package name in Spring AOP pointcut expressionSpring AOP using @around throws org.springframework.beans.factory.BeanCreationException when I start the application
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I am using Spring AOP for profiling method execution time. My methods uses Spring WebFlux and returns a Mono of various types viz. Map
, List
, custom objects of Java classes. But jointPoint.proceed()
in @Around
advice returns object. How can I return the same Mono from doAround
method.
The method whose execution time I want to know is as follows :
public Mono<Map<Integer, Car>> getCarObject(List<Integer> cardIds) cardIds.isEmpty())
return Mono.fromCallable(() -> new HashMap<>());
return Mono.fromCallable(() -> listingClient.getCarObject(carIds).getData());
My aspect class is as follows :
@Aspect
@Configuration
public class Demo
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Pointcut("execution(* com.Car.*.mediators.*.*(..))")
public void feignClientPointcut()
@Around("feignClientPointcut()")
public void doAround(ProceedingJoinPoint joinPoint) throws Throwable
long start = System.currentTimeMillis();
Object object = joinPoint.proceed();
long end = System.currentTimeMillis();
long time = end - start;
logger.error("Around Method Name = ",joinPoint.getSignature().getName());
logger.error("Around time :",time);
How can I return the same Mono from doAround
method. Because on returning Mono<object>
the caller function of method throws an error as it expects a Map
not a object ?
spring spring-boot spring-aop spring-webflux
add a comment |
I am using Spring AOP for profiling method execution time. My methods uses Spring WebFlux and returns a Mono of various types viz. Map
, List
, custom objects of Java classes. But jointPoint.proceed()
in @Around
advice returns object. How can I return the same Mono from doAround
method.
The method whose execution time I want to know is as follows :
public Mono<Map<Integer, Car>> getCarObject(List<Integer> cardIds) cardIds.isEmpty())
return Mono.fromCallable(() -> new HashMap<>());
return Mono.fromCallable(() -> listingClient.getCarObject(carIds).getData());
My aspect class is as follows :
@Aspect
@Configuration
public class Demo
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Pointcut("execution(* com.Car.*.mediators.*.*(..))")
public void feignClientPointcut()
@Around("feignClientPointcut()")
public void doAround(ProceedingJoinPoint joinPoint) throws Throwable
long start = System.currentTimeMillis();
Object object = joinPoint.proceed();
long end = System.currentTimeMillis();
long time = end - start;
logger.error("Around Method Name = ",joinPoint.getSignature().getName());
logger.error("Around time :",time);
How can I return the same Mono from doAround
method. Because on returning Mono<object>
the caller function of method throws an error as it expects a Map
not a object ?
spring spring-boot spring-aop spring-webflux
Can you share the exception stack trace?
– Bond - Java Bond
Mar 18 at 12:10
add a comment |
I am using Spring AOP for profiling method execution time. My methods uses Spring WebFlux and returns a Mono of various types viz. Map
, List
, custom objects of Java classes. But jointPoint.proceed()
in @Around
advice returns object. How can I return the same Mono from doAround
method.
The method whose execution time I want to know is as follows :
public Mono<Map<Integer, Car>> getCarObject(List<Integer> cardIds) cardIds.isEmpty())
return Mono.fromCallable(() -> new HashMap<>());
return Mono.fromCallable(() -> listingClient.getCarObject(carIds).getData());
My aspect class is as follows :
@Aspect
@Configuration
public class Demo
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Pointcut("execution(* com.Car.*.mediators.*.*(..))")
public void feignClientPointcut()
@Around("feignClientPointcut()")
public void doAround(ProceedingJoinPoint joinPoint) throws Throwable
long start = System.currentTimeMillis();
Object object = joinPoint.proceed();
long end = System.currentTimeMillis();
long time = end - start;
logger.error("Around Method Name = ",joinPoint.getSignature().getName());
logger.error("Around time :",time);
How can I return the same Mono from doAround
method. Because on returning Mono<object>
the caller function of method throws an error as it expects a Map
not a object ?
spring spring-boot spring-aop spring-webflux
I am using Spring AOP for profiling method execution time. My methods uses Spring WebFlux and returns a Mono of various types viz. Map
, List
, custom objects of Java classes. But jointPoint.proceed()
in @Around
advice returns object. How can I return the same Mono from doAround
method.
The method whose execution time I want to know is as follows :
public Mono<Map<Integer, Car>> getCarObject(List<Integer> cardIds) cardIds.isEmpty())
return Mono.fromCallable(() -> new HashMap<>());
return Mono.fromCallable(() -> listingClient.getCarObject(carIds).getData());
My aspect class is as follows :
@Aspect
@Configuration
public class Demo
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Pointcut("execution(* com.Car.*.mediators.*.*(..))")
public void feignClientPointcut()
@Around("feignClientPointcut()")
public void doAround(ProceedingJoinPoint joinPoint) throws Throwable
long start = System.currentTimeMillis();
Object object = joinPoint.proceed();
long end = System.currentTimeMillis();
long time = end - start;
logger.error("Around Method Name = ",joinPoint.getSignature().getName());
logger.error("Around time :",time);
How can I return the same Mono from doAround
method. Because on returning Mono<object>
the caller function of method throws an error as it expects a Map
not a object ?
spring spring-boot spring-aop spring-webflux
spring spring-boot spring-aop spring-webflux
edited Mar 18 at 12:08
Bond - Java Bond
2,88452239
2,88452239
asked Mar 8 at 11:13
Divyesh SoniDivyesh Soni
11
11
Can you share the exception stack trace?
– Bond - Java Bond
Mar 18 at 12:10
add a comment |
Can you share the exception stack trace?
– Bond - Java Bond
Mar 18 at 12:10
Can you share the exception stack trace?
– Bond - Java Bond
Mar 18 at 12:10
Can you share the exception stack trace?
– Bond - Java Bond
Mar 18 at 12:10
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55062049%2freturning-mono-from-around-method-of-aspect%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55062049%2freturning-mono-from-around-method-of-aspect%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you share the exception stack trace?
– Bond - Java Bond
Mar 18 at 12:10