1
當我嘗試使用CGLIB和回調過濾器(數以萬計的對象)時,我注意到可怕的速度,但我無法找到任何有關優化CGLIB的信息。使用回調過濾器緩慢CGLIB性能
對於搜索/列表界面,系統正在從優化查詢中加載多個屬性,並使用這些屬性填充域樹。對於所有其他屬性,LazyLoader正在加載完整對象。這個想法是讓搜索/列表使用的基本屬性加載,而不會丟失域模型類。
基本實施例
String name = rst.getString(1);
Enhancer enhancer = new Enchancer();
enhancer.setSuperclass(Type.class);
enhancer.setCallbackFilter(new CallbackFilter(){
public int method(Method method){
if("getName".equals(method.getName()){
return 1;
}
return 0;
}
});
enhancer.setCallbacks(new Callback[]{
new LazyLoader(){...}
new FixedValueImpl(name);
});
return (Type)enhancer.create()