Spring aop: advice never reached












0














I've create this pointcut:



@Pointcut(value = "execution(* net.space.service.RepositoryService.createDocumentFromBytes(..))")
public void groupBytesMethod() {
}


and this advice:



@Around("groupBytesMethod()")
public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
Object result = point.proceed();
}


I've set a breakpoint, but it's never reached.



package net.space.service;

@Service
public class RepositoryService {
private Reference createDocumentFromBytes(String id, byte content) throws IOException {...}
public Reference groupDocuments(@NotNull RepositoryGroupForm groupForm) {
return this.createDocumentFromBytes("id", new byte[10]);
}
}









share|improve this question





























    0














    I've create this pointcut:



    @Pointcut(value = "execution(* net.space.service.RepositoryService.createDocumentFromBytes(..))")
    public void groupBytesMethod() {
    }


    and this advice:



    @Around("groupBytesMethod()")
    public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
    Object result = point.proceed();
    }


    I've set a breakpoint, but it's never reached.



    package net.space.service;

    @Service
    public class RepositoryService {
    private Reference createDocumentFromBytes(String id, byte content) throws IOException {...}
    public Reference groupDocuments(@NotNull RepositoryGroupForm groupForm) {
    return this.createDocumentFromBytes("id", new byte[10]);
    }
    }









    share|improve this question



























      0












      0








      0







      I've create this pointcut:



      @Pointcut(value = "execution(* net.space.service.RepositoryService.createDocumentFromBytes(..))")
      public void groupBytesMethod() {
      }


      and this advice:



      @Around("groupBytesMethod()")
      public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
      Object result = point.proceed();
      }


      I've set a breakpoint, but it's never reached.



      package net.space.service;

      @Service
      public class RepositoryService {
      private Reference createDocumentFromBytes(String id, byte content) throws IOException {...}
      public Reference groupDocuments(@NotNull RepositoryGroupForm groupForm) {
      return this.createDocumentFromBytes("id", new byte[10]);
      }
      }









      share|improve this question















      I've create this pointcut:



      @Pointcut(value = "execution(* net.space.service.RepositoryService.createDocumentFromBytes(..))")
      public void groupBytesMethod() {
      }


      and this advice:



      @Around("groupBytesMethod()")
      public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
      Object result = point.proceed();
      }


      I've set a breakpoint, but it's never reached.



      package net.space.service;

      @Service
      public class RepositoryService {
      private Reference createDocumentFromBytes(String id, byte content) throws IOException {...}
      public Reference groupDocuments(@NotNull RepositoryGroupForm groupForm) {
      return this.createDocumentFromBytes("id", new byte[10]);
      }
      }






      spring spring-boot spring-aop






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 13 '18 at 15:15

























      asked Nov 12 '18 at 15:30









      Jordi

      4,01583475




      4,01583475
























          1 Answer
          1






          active

          oldest

          votes


















          0














          There are many ways to make this work, I would suggest use an annotation,something like :



          @Documented
          @Target(ElementType.METHOD)
          @Inherited
          @Retention(RetentionPolicy.RUNTIME)
          public @interface GroupBytesMethod {
          }


          Then



          @Aspect
          @Component
          public class MyAspect {

          @Around("@annotation(GroupBytesMethod)") // use full package name of annotation
          public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
          // do something before
          Object result = null;
          try {
          result = point.proceed();
          }
          catch (Throwable t) {
          // handle an exception
          }
          // do something after
          return result;
          }
          }


          Example here






          share|improve this answer























          • It doesn't work... It's really strange.
            – Jordi
            Nov 13 '18 at 14:41










          • @Jordi my example works, it has a test in it to prove, you can download it and take it from there.
            – Essex Boy
            Nov 13 '18 at 14:52






          • 1




            I think, I've realized what was wrong... createDocumentFromBytes throws an exception. I've edited post.
            – Jordi
            Nov 13 '18 at 15:14










          • So is your problem solved or do you have a concrete question before accepting this answer? You did a minor edit in your sample code but said nothing about follow-up problems.
            – kriegaex
            Dec 10 '18 at 8:03










          • @Jordi I've tidied up the answer, for future reference, with your fix.
            – Essex Boy
            Dec 10 '18 at 8:56











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


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53265324%2fspring-aop-advice-never-reached%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          There are many ways to make this work, I would suggest use an annotation,something like :



          @Documented
          @Target(ElementType.METHOD)
          @Inherited
          @Retention(RetentionPolicy.RUNTIME)
          public @interface GroupBytesMethod {
          }


          Then



          @Aspect
          @Component
          public class MyAspect {

          @Around("@annotation(GroupBytesMethod)") // use full package name of annotation
          public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
          // do something before
          Object result = null;
          try {
          result = point.proceed();
          }
          catch (Throwable t) {
          // handle an exception
          }
          // do something after
          return result;
          }
          }


          Example here






          share|improve this answer























          • It doesn't work... It's really strange.
            – Jordi
            Nov 13 '18 at 14:41










          • @Jordi my example works, it has a test in it to prove, you can download it and take it from there.
            – Essex Boy
            Nov 13 '18 at 14:52






          • 1




            I think, I've realized what was wrong... createDocumentFromBytes throws an exception. I've edited post.
            – Jordi
            Nov 13 '18 at 15:14










          • So is your problem solved or do you have a concrete question before accepting this answer? You did a minor edit in your sample code but said nothing about follow-up problems.
            – kriegaex
            Dec 10 '18 at 8:03










          • @Jordi I've tidied up the answer, for future reference, with your fix.
            – Essex Boy
            Dec 10 '18 at 8:56
















          0














          There are many ways to make this work, I would suggest use an annotation,something like :



          @Documented
          @Target(ElementType.METHOD)
          @Inherited
          @Retention(RetentionPolicy.RUNTIME)
          public @interface GroupBytesMethod {
          }


          Then



          @Aspect
          @Component
          public class MyAspect {

          @Around("@annotation(GroupBytesMethod)") // use full package name of annotation
          public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
          // do something before
          Object result = null;
          try {
          result = point.proceed();
          }
          catch (Throwable t) {
          // handle an exception
          }
          // do something after
          return result;
          }
          }


          Example here






          share|improve this answer























          • It doesn't work... It's really strange.
            – Jordi
            Nov 13 '18 at 14:41










          • @Jordi my example works, it has a test in it to prove, you can download it and take it from there.
            – Essex Boy
            Nov 13 '18 at 14:52






          • 1




            I think, I've realized what was wrong... createDocumentFromBytes throws an exception. I've edited post.
            – Jordi
            Nov 13 '18 at 15:14










          • So is your problem solved or do you have a concrete question before accepting this answer? You did a minor edit in your sample code but said nothing about follow-up problems.
            – kriegaex
            Dec 10 '18 at 8:03










          • @Jordi I've tidied up the answer, for future reference, with your fix.
            – Essex Boy
            Dec 10 '18 at 8:56














          0












          0








          0






          There are many ways to make this work, I would suggest use an annotation,something like :



          @Documented
          @Target(ElementType.METHOD)
          @Inherited
          @Retention(RetentionPolicy.RUNTIME)
          public @interface GroupBytesMethod {
          }


          Then



          @Aspect
          @Component
          public class MyAspect {

          @Around("@annotation(GroupBytesMethod)") // use full package name of annotation
          public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
          // do something before
          Object result = null;
          try {
          result = point.proceed();
          }
          catch (Throwable t) {
          // handle an exception
          }
          // do something after
          return result;
          }
          }


          Example here






          share|improve this answer














          There are many ways to make this work, I would suggest use an annotation,something like :



          @Documented
          @Target(ElementType.METHOD)
          @Inherited
          @Retention(RetentionPolicy.RUNTIME)
          public @interface GroupBytesMethod {
          }


          Then



          @Aspect
          @Component
          public class MyAspect {

          @Around("@annotation(GroupBytesMethod)") // use full package name of annotation
          public Object groupMetrics(ProceedingJoinPoint point) throws Throwable {
          // do something before
          Object result = null;
          try {
          result = point.proceed();
          }
          catch (Throwable t) {
          // handle an exception
          }
          // do something after
          return result;
          }
          }


          Example here







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Dec 10 '18 at 9:10

























          answered Nov 12 '18 at 16:23









          Essex Boy

          4,4281815




          4,4281815












          • It doesn't work... It's really strange.
            – Jordi
            Nov 13 '18 at 14:41










          • @Jordi my example works, it has a test in it to prove, you can download it and take it from there.
            – Essex Boy
            Nov 13 '18 at 14:52






          • 1




            I think, I've realized what was wrong... createDocumentFromBytes throws an exception. I've edited post.
            – Jordi
            Nov 13 '18 at 15:14










          • So is your problem solved or do you have a concrete question before accepting this answer? You did a minor edit in your sample code but said nothing about follow-up problems.
            – kriegaex
            Dec 10 '18 at 8:03










          • @Jordi I've tidied up the answer, for future reference, with your fix.
            – Essex Boy
            Dec 10 '18 at 8:56


















          • It doesn't work... It's really strange.
            – Jordi
            Nov 13 '18 at 14:41










          • @Jordi my example works, it has a test in it to prove, you can download it and take it from there.
            – Essex Boy
            Nov 13 '18 at 14:52






          • 1




            I think, I've realized what was wrong... createDocumentFromBytes throws an exception. I've edited post.
            – Jordi
            Nov 13 '18 at 15:14










          • So is your problem solved or do you have a concrete question before accepting this answer? You did a minor edit in your sample code but said nothing about follow-up problems.
            – kriegaex
            Dec 10 '18 at 8:03










          • @Jordi I've tidied up the answer, for future reference, with your fix.
            – Essex Boy
            Dec 10 '18 at 8:56
















          It doesn't work... It's really strange.
          – Jordi
          Nov 13 '18 at 14:41




          It doesn't work... It's really strange.
          – Jordi
          Nov 13 '18 at 14:41












          @Jordi my example works, it has a test in it to prove, you can download it and take it from there.
          – Essex Boy
          Nov 13 '18 at 14:52




          @Jordi my example works, it has a test in it to prove, you can download it and take it from there.
          – Essex Boy
          Nov 13 '18 at 14:52




          1




          1




          I think, I've realized what was wrong... createDocumentFromBytes throws an exception. I've edited post.
          – Jordi
          Nov 13 '18 at 15:14




          I think, I've realized what was wrong... createDocumentFromBytes throws an exception. I've edited post.
          – Jordi
          Nov 13 '18 at 15:14












          So is your problem solved or do you have a concrete question before accepting this answer? You did a minor edit in your sample code but said nothing about follow-up problems.
          – kriegaex
          Dec 10 '18 at 8:03




          So is your problem solved or do you have a concrete question before accepting this answer? You did a minor edit in your sample code but said nothing about follow-up problems.
          – kriegaex
          Dec 10 '18 at 8:03












          @Jordi I've tidied up the answer, for future reference, with your fix.
          – Essex Boy
          Dec 10 '18 at 8:56




          @Jordi I've tidied up the answer, for future reference, with your fix.
          – Essex Boy
          Dec 10 '18 at 8:56


















          draft saved

          draft discarded




















































          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.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • 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.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53265324%2fspring-aop-advice-never-reached%23new-answer', 'question_page');
          }
          );

          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







          Popular posts from this blog

          Florida Star v. B. J. F.

          Error while running script in elastic search , gateway timeout

          Adding quotations to stringified JSON object values