【发布时间】:2013-11-13 03:04:20
【问题描述】:
使用 Enhancer 在 CGLib 中创建代理时,您可以调用 .setNamingPolicy(NamingPolicy n) 将代理类命名策略更改为 CGLib 默认值以外的策略。使用 ProxyFactory 时有什么方法可以在 Javassist 中做类似的事情吗?
【问题讨论】:
标签: java proxy javassist cglib
使用 Enhancer 在 CGLib 中创建代理时,您可以调用 .setNamingPolicy(NamingPolicy n) 将代理类命名策略更改为 CGLib 默认值以外的策略。使用 ProxyFactory 时有什么方法可以在 Javassist 中做类似的事情吗?
【问题讨论】:
标签: java proxy javassist cglib
查看ProxyFactory 的代码,我想说至少开箱即用是不可能的:
private static synchronized String makeProxyName(String classname) {
return classname + "_$$_javassist_" + counter++;
}
【讨论】:
在 GitHub 上,看起来大约 6 个月前他们 added a public field in ProxyFactory 类型为 UniqueName,您可以替换它以更改命名策略。首次提出问题时,此功能不可用。
【讨论】: