修改Javassist代理命名策略

时间:2012-02-13 21:37:28

标签: java proxy javassist cglib

使用Enhancer在CGLib中创建代理时,可以调用.setNamingPolicy(NamingPolicy n)将代理类命名策略更改为CGLib默认值以外的其他策略。在使用ProxyFactory时,有没有办法在Javassist中做类似的事情?

2 个答案:

答案 0 :(得分:2)

查看ProxyFactory的代码我会说至少不可能开箱即用:

private static synchronized String makeProxyName(String classname) {
    return classname + "_$$_javassist_" + counter++;
}

答案 1 :(得分:0)

在GitHub上,看起来大约6个月前他们可以替换类型为UniqueName的added a public field in ProxyFactory来更改命名策略。在第一次提出问题时,这是不可用的。