You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Tomas Vavricka (Jira)" <ji...@apache.org> on 2022/11/01 09:02:00 UTC

[jira] [Updated] (QPID-8601) [Broker-J] Instrumentation agent

     [ https://issues.apache.org/jira/browse/QPID-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tomas Vavricka updated QPID-8601:
---------------------------------
    Summary: [Broker-J] Instrumentation agent  (was: [Broker-J] Broker-J instrumentation agent)

> [Broker-J] Instrumentation agent
> --------------------------------
>
>                 Key: QPID-8601
>                 URL: https://issues.apache.org/jira/browse/QPID-8601
>             Project: Qpid
>          Issue Type: New Feature
>          Components: Broker-J
>    Affects Versions: qpid-java-broker-8.0.6
>            Reporter: Daniil Kirilyuk
>            Priority: Minor
>             Fix For: qpid-java-broker-9.0.0
>
>
> 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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org