ABAP function group和Tomcat library重复加载问题

简介: ABAP function group和Tomcat library重复加载问题

ABAP

ABAP help文档里对**LOAD-OF-PROGRAM"的关键字是这样描述的:image.png以Function group为例,每当一个function group里的任意一个function module第一次被调用时,对应的ABAP program被加载到internal session里,同时ABAP运行时抛出LOAD-OF-PROGRAM, 执行应用程序员编写的事件处理逻辑。


现在我有一个名为ZTOMCAT的function group。其LOAD-OF-PROGRAM就负责弹出调试器。image.png我有两个report。Report 2的源代码:image.pngeport 1:image.png那么我执行report1,断点会触发一次还是两次?

答案是两次。image.pngimage.pngLOAD-OF-PROGRAM在这种场景下的行为,ABAP help已经说的很清楚了:image.png每次program通过SUBMIT或者事务码的方式调用时,会起一个新的internal session,在此新的session里LOAD-OF-PROGRAM会触发一次。


下图也直观表明了每次调用SUBMIT( calling programs)时会新起一个Internal Session。image.png

Tomcat 库文件的重复加载问题

我的pom.xml里定义了一个gson的依赖关系,ABAPer可以把其类比成在我的Java代码里调用Google提供的gson API。image.png那么如果我有多个Web应用都用到了gson, 则每个应用的WEB-INF\lib文件夹下面都有gson的jar文件。


问题:在运行时,Tomcat只会将一份gson.jar的内容加载到内存么?


答案是不会。根据Tomcat的官方文档,Tomcat会为每个Web应用创建一个专属的ClassLoader实例,每个应用的WEB-INF\lib下的资源,对于其他应用来说不可见,彼此隔离。image.png当然如果想只用一份库文件,可以把它放到目录 [tomcat-installation-directory]/common/lib下面。


image.png

相关文章
|
1月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
20 0
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
|
3月前
|
数据库
如何通过增强(Enhancement)的方式,给 ABAP Function Module 增添新的功能试读版
如何通过增强(Enhancement)的方式,给 ABAP Function Module 增添新的功能试读版
26 0
|
1月前
|
SQL 数据库 数据处理
什么是 ABAP SQL Function
什么是 ABAP SQL Function
10 0
什么是 ABAP SQL Function
|
2月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
16 0
|
4月前
|
数据库
SAP ABAP 更新函数(Update Function Module)执行出错的原因分析试读版
SAP ABAP 更新函数(Update Function Module)执行出错的原因分析试读版
35 0
|
4月前
|
数据库
130. SAP ABAP 更新函数(Update Function Module)执行出错的原因分析
130. SAP ABAP 更新函数(Update Function Module)执行出错的原因分析
26 0
|
4月前
答网友疑问:ABAP Function Module 如何支持内表结构不确定的动态输入参数试读版
答网友疑问:ABAP Function Module 如何支持内表结构不确定的动态输入参数试读版
12 0
|
2天前
|
存储
function(函数)
在 Lua 中,函数作为第一类值可存储于变量,如示例所示:`factorial1` 和 `factorial2` 存储相同函数。此外,函数可作为参数传递,如 `testFun` 接收一个表和一个匿名函数,该匿名函数在迭代中处理键值对,输出 `key1=val1` 和 `key2=val2`。
|
6天前
|
Serverless 应用服务中间件 数据安全/隐私保护
Serverless 应用引擎操作报错合集之在阿里函数计算中,函数执行超时,报错Function time out after如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
15 4
|
1月前
|
资源调度 Serverless 计算机视觉
高斯函数 Gaussian Function
**高斯函数,或称正态分布,以数学家高斯命名,具有钟形曲线特征。关键参数包括期望值μ(决定分布中心)和标准差σ(影响分布的宽度)。当μ=0且σ²=1时,分布为标准正态分布。高斯函数广泛应用于统计学、信号处理和图像处理,如高斯滤波器用于图像模糊。其概率密度函数为e^(-x²/2σ²),积分结果为误差函数。在编程中,高斯函数常用于创建二维权重矩阵进行图像的加权平均,实现模糊效果。
18 1