Java 从EJB调用shell脚本的缺点是什么?
我们的业务案例需要我们从消息Bean调用shell脚本。除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题?从技术上讲,容器WebLogic允许我这样做,但这看起来确实是一个糟糕的做法。好的替代方案是什么?在这种情况下,这是一个同步调用。我想说没关系,我们一直在使用它。请注意,bean将忙于等待同步调用,因此如果没有足够的空闲bean进行加载,队列将暂停 除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题 你已经涵盖了最重要的部分 我唯一能想到的是:Java 从EJB调用shell脚本的缺点是什么?,java,jakarta-ee,Java,Jakarta Ee,我们的业务案例需要我们从消息Bean调用shell脚本。除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题?从技术上讲,容器WebLogic允许我这样做,但这看起来确实是一个糟糕的做法。好的替代方案是什么?在这种情况下,这是一个同步调用。我想说没关系,我们一直在使用它。请注意,bean将忙于等待同步调用,因此如果没有足够的空闲bean进行加载,队列将暂停 除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题 你已经涵盖了最重要的部分 我唯
- 维护“混合”解决方案的工程问题
- 潜在的绩效问题;e、 g.如果使用Java编码并(通常)在主JVM中运行,任务完成速度是否会明显加快
一般的替代方法是用Java编写任务代码。您应该能够在
awk
/sed
情况下执行此操作。在使用ps
查找外部进程的情况下,您可能根本无法用纯Java完成任务,这意味着您当前的方法是最好的。@Stephen C:回答得很好
《问题与对策》引出了我对资源管理的思考:考虑外部过程将访问的资源。
如果资源是:
- 严格地说是“计算性的”(awk/sed优于stdin/stdout),这是一种利用现有工具(本着UNIX的精神)快速推出解决方案的合理方法,但它是不可移植的。如果我是原型,或者是在快速开发计划下,我会考虑一下,只会倾向于更复杂的问题
- 然后,应该考虑如何在可扩展的JavaEE环境中管理这些资源
- 流程,用于流程管理-Java/Java EE无法使用,如
/流程,需要转向O/Sps
- 用于并行化工作的进程/线程-不要试图管理并行工作流。。javaee确实为此提供了可伸缩的api