1、如何让一个类库在应用服务器级共享?
创建共享库shareLib,"请对此共享库使用隔离的类装入器"选不选中无所谓
应用程序服务器 > server01 > 类装入器,新建,"类装入器顺序"选哪个都无所谓,保存后,生成类载入器:Classloader_1305770511128
应用程序服务器 > server01 > 类装入器 > Classloader_1305770511128 > 库引用,添加shareLib
此时,系统使用的类载入器com.ibm.ws.classloader.ExtJarClassLoader,类载入器实例信息可能如下:
com.ibm.ws.classloader.ExtJarClassLoader@4b1b4b1b[server:0] Local ClassPath: /opt/IBM/WebSphere/apps/temp/share.jar
Parent: com.ibm.ws.classloader.ProtectionClassLoader@5e6f5e6f Delegation Mode: PARENT_LAST
2、如何让一个类库在应用程序或web应用级共享?
(1).若应用程序服务器server01的"类装入器策略"选中"多个"时
共享库shareLib要选中"请对此共享库使用隔离的类装入器"
企业应用程序 > test_war > 共享库引用,选择"应用程序"或"模块",引用共享库shareLib
此时,系统使用的类载入器com.ibm.ws.classloader.CompoundClassLoader,类载入器实例信息可能如下:
com.ibm.ws.classloader.CompoundClassLoader@555c555c[library:shareLib] Local ClassPath: /opt/IBM/WebSphere/apps/temp/share.jar
Parent: com.ibm.ws.classloader.ProtectionClassLoader@3a5f3a5f Delegation Mode: PARENT_LAST
(2).若应用程序服务器server01的"类装入器策略"选中"单个"时,"类装入方式"选哪个都无所谓
共享库shareLib选不选中"请对此共享库使用隔离的类装入器"无所谓
企业应用程序 > test_war > 共享库引用,选择"应用程序"或"模块",引用共享库shareLib
此时,系统使用的类载入器com.ibm.ws.classloader.CompoundClassLoader,类载入器实例信息可能如下:
com.ibm.ws.classloader.CompoundClassLoader@3bd03bd0[app] Local ClassPath: /opt/IBM/WebSphere/apps/temp/share.jar
Parent: com.ibm.ws.classloader.ProtectionClassLoader@10181018 Delegation Mode: PARENT_FIRST