【发布时间】:2021-03-22 03:44:35
【问题描述】:
我有一个旧应用程序(从 main() 方法开始的简单 Java 文件)由 4-5 个 autosys 作业同时调用,并传递不同的参数。
现在,我已将此应用程序重构为使用 Spring Boot CommandLineRunner。我只更改了启动文件以使用spring boot对其进行升级。
问题:如果我的 autosys 作业同时调用此应用程序 5 次并传递不同的参数,这会产生任何问题吗?线程执行或对象或任何其他冲突的任何问题?
我在任何地方都找不到我的答案..尽管据我所知,所有这 5 个调用都应该创建不同的 JVM 并从 CommandLineRunner 执行 spring bean。他们应该被分开对待......
来自 autosys 的调用很简单
“Java -jar javaApp.jar arg1 arg2”
需要您的专业建议。 感谢您的快速帮助。
【问题讨论】:
-
如果你确定你没有做任何会导致多个实例相互影响的事情(改变共享资源?)那么理论上它们不应该相互影响。当然,如果他们使用大量 RAM 或磁盘(用于临时),或者比机器提供的 CPU 更多,它们可能会相互影响,但不会以无法通过修复瓶颈来解决的方式。
-
你对我来说很有意义。当然,它们都不是资源密集型的。我认为每个命令行运行程序在被调用时都应该在它的 JVM(独立内存)中执行,因此 spring 容器中的对象应该是独立的。我说的对吗?
标签: java spring-boot