[ https://issues.apache.org/jira/browse/QPID-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17622244#comment-17622244 ]
ASF GitHub Bot commented on QPID-8601: -------------------------------------- vavrtom merged PR #151: URL: https://github.com/apache/qpid-broker-j/pull/151 > [Broker-J] Broker-J instrumentation agent > ----------------------------------------- > > Key: QPID-8601 > URL: https://issues.apache.org/jira/browse/QPID-8601 > Project: Qpid > Issue Type: Improvement > Components: Broker-J > Affects Versions: qpid-java-broker-8.0.6 > Reporter: Daniil Kirilyuk > Priority: Minor > > Broker model objects heavily rely on java reflection. > Java version 7/8 introduced reflection alternatives allowing to access class > fields as well as call class methods. Brief review of those alternatives can > be found in this [blog > post|https://www.optaplanner.org/blog/2018/01/09/JavaReflectionButMuchFaster.html]. > There are further changes coming, e.g. [JEP 416|https://openjdk.org/jeps/416] > (implemented in Java 18), having as a goal reimplementation of > java.lang.reflect.Method, Constructor, and Field on top of java.lang.invoke > method handles. Jackson databind library already has an > [issue|https://github.com/FasterXML/jackson-databind/issues/2083] directed to > replace reflection calls with method handles. Similar approach is used in > [spring > data|https://github.com/spring-projects/spring-data-commons/blob/main/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java] > framework as well. > We suggest to implement a static instrumentation object, which will replace > reflection method invocation with the invocations of static final > MethodHandle instances. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org