MapperFactory 使用不当 引起的 Metaspace 内存溢出

451 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一 在启动参数中添加 -verbose

参考: blog.csdn.net/SJZYLC/arti…

blog.csdn.net/weixin_4257…

MapperFactory mapperFactory1 = new DefaultMapperFactory.Builder().build()

1 mapperFactory 注入Spring 管理,不是每次使用的时候都创建,
@Resource
private MapperFactory mapperFactory;

多次请求接口,发现只加载了一次


[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233674569452000$1 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
2 mapperFactory 使用时,每次使用的时候都创建一个MapperFactory

MapperFactory mapperFactory1 = new DefaultMapperFactory.Builder().build();

就会 每次 都加载一次 ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper

[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304049980900$42 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304091855500$43 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304136751500$44 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304178195800$45 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304222868000$46 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304268456900$47 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304307010900$48 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304332590500$49 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304351980500$50 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304378649000$51 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304419935900$52 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304441500500$53 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304463151700$54 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304485264400$55 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304508296600$56 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304541360200$57 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304578677300$58 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304620236100$59 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_ItemsBean_AppConfigItem_Mapper1233304661865600$60 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
​

mapperFactory.classMap

cn.quantgroup.kdsp.api.service.app.impl.AppConfigPushApiServiceImpl#stayPopupList

每次都会 加载一次 ma.glasnost.orika.generated.Orika_AppConfigPushStayPopupVo_AppConfigPush_Mapper


[Loaded ma.glasnost.orika.generated.Orika_AppConfigPushStayPopupVo_AppConfigPush_Mapper1234426034243600$0 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_AppConfigPushStayPopupVo_AppConfigPush_Mapper1234528158112600$5 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_AppConfigPushStayPopupVo_AppConfigPush_Mapper1234528613372200$6 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_AppConfigPushStayPopupVo_AppConfigPush_Mapper1234529120858100$7 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]
[Loaded ma.glasnost.orika.generated.Orika_AppConfigPushStayPopupVo_AppConfigPush_Mapper1234529793335200$8 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]

对 mapperFactory.classMap进行初始化 只会


    @PostConstruct
    public void init(){
        mapperFactory.classMap(AppConfigPush.class, AppConfigPushStayPopupVo.class)
                .field("page", "url").byDefault().register();
    }

多次请求,发现 类只会加载一次


[Loaded ma.glasnost.orika.generated.Orika_AppConfigPushStayPopupVo_AppConfigPush_Mapper1235823422623600$0 from file:/C:/Users/X1/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar]

\