On the isVarArgs method of Method after java dynamic proxy

problem description

The class returned after the

java dynamic proxy returns true when calling the isVarArgs method that contains an indefinite length parameter Method instance in the class without going through the proxy and cglib proxy. So I"d like to ask, is this the question of java dynamic agents?

the environmental background of the problems and what methods you have tried

Today, I encountered a problem when using activiti. When I showed that the proxy mode of the specified transaction was Java dynamic proxy, the task listener configured in activiti threw an exception when calling the method of bean in the spring container and could not find the method. After searching for a period of time, I found that this method was used in activiti to determine whether the method in the expression was used correctly, as follows:

clipboard.png

falsecglib

//
:
IHello.java


HelloImpl.java


CallHandler.java


:

clipboard.png

give me an explanation of what I want to know. I haven"t found out a lot of things. If I don"t know, I"ll take it as a record.

May.22,2021

PUBLIC: 1       0000 0001

PRIVATE: 2      0000 0010
PROTECTED: 4   0000 0100
STATIC: 8   0000 1000
FINAL: 16   0001 0000
SYNCHRONIZED: 32    0010 0000
VOLATILE: 64    0100 0000
TRANSIENT: 128    1000 0000
NATIVE: 256    0001  0000 0000
INTERFACE: 512    0010 0000 0000
ABSTRACT: 1024    0100 0000 0000
STRICT: 2048   1000 0000 0000

isVarArgs
public boolean isVarArgs()  {
        return (getModifiers() & Modifier.VARARGS) != 0;
}
Modifier.VARARGS128
:public+TRANSIENT=129,129&128=128!=0,true
cglib:public+final+TRANSIENT=145,145&128=128!=0,true,
jdk:public+final=17,17&128=0,false,
modifiersjdkTRANSIENT
Menu