Git Product home page Git Product logo

Comments (5)

dstepanov avatar dstepanov commented on September 22, 2024

And what are you suggesting?

from micronaut-core.

dstepanov avatar dstepanov commented on September 22, 2024

It looks like @NotNull is causing the interceptor to be made

from micronaut-core.

nbrugger-tgm avatar nbrugger-tgm commented on September 22, 2024

That @NotNullis creating a interceptor imo is a bug but i will create created another ticket for that (#10836) (since ONLY the notnull on the factory creates the interceptor but NOT the not null on setAge)

from micronaut-core.

nbrugger-tgm avatar nbrugger-tgm commented on September 22, 2024

My suggestion? A null check in intercepted methods to bypass interception when called from constructors:

 public void setAge(String var1) {
        (new MethodInterceptorChain(this.$interceptors[0], this.$target, this.$proxyMethods[0], new Object[]{var1})).proceed();
    }

to

 public void setAge(String var1) {
        if(this.$interceptors != null) (new MethodInterceptorChain(this.$interceptors[0], this.$target, this.$proxyMethods[0], new Object[]{var1})).proceed();
       else super.setAge(var1);
    }

from micronaut-core.

nbrugger-tgm avatar nbrugger-tgm commented on September 22, 2024

Also just in case you want to know. ClassCallingInConstructor is calling its constructor is not my class but a 3rd party one (Jooq) DaoImpland setConfiguration so i sadly cannot just "improve the design of the constructor" also this will most likely cause issues once java 22/23 is out and methods can be called BEFORE the super() or this() call (see jetbrains post

from micronaut-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.