Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从EJB调用shell脚本的缺点是什么?_Java_Jakarta Ee - Fatal编程技术网

Java 从EJB调用shell脚本的缺点是什么?

Java 从EJB调用shell脚本的缺点是什么?,java,jakarta-ee,Java,Jakarta Ee,我们的业务案例需要我们从消息Bean调用shell脚本。除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题?从技术上讲,容器WebLogic允许我这样做,但这看起来确实是一个糟糕的做法。好的替代方案是什么?在这种情况下,这是一个同步调用。我想说没关系,我们一直在使用它。请注意,bean将忙于等待同步调用,因此如果没有足够的空闲bean进行加载,队列将暂停 除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题 你已经涵盖了最重要的部分 我唯

我们的业务案例需要我们从消息Bean调用shell脚本。除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题?从技术上讲,容器WebLogic允许我这样做,但这看起来确实是一个糟糕的做法。好的替代方案是什么?在这种情况下,这是一个同步调用。

我想说没关系,我们一直在使用它。请注意,bean将忙于等待同步调用,因此如果没有足够的空闲bean进行加载,队列将暂停

除了明显的可移植性问题和标准遵从性之外,从bean调用shell脚本还有什么问题

你已经涵盖了最重要的部分

我唯一能想到的是:

  • 维护“混合”解决方案的工程问题
  • 潜在的绩效问题;e、 g.如果使用Java编码并(通常)在主JVM中运行,任务完成速度是否会明显加快
从技术上讲,容器WebLogic允许我这样做,但这看起来确实是一个糟糕的做法

不良行为不应等同于不雅。好的/坏的实践是指根据某种客观标准将产生/将产生可测量影响的事情。。。如果你能测量的话

好的替代方案是什么?在这种情况下,它是一个同步调用


一般的替代方法是用Java编写任务代码。您应该能够在
awk
/
sed
情况下执行此操作。在使用
ps
查找外部进程的情况下,您可能根本无法用纯Java完成任务,这意味着您当前的方法是最好的。

@Stephen C:回答得很好

《问题与对策》引出了我对资源管理的思考:考虑外部过程将访问的资源。 如果资源是:

  • 严格地说是“计算性的”(awk/sed优于stdin/stdout),这是一种利用现有工具(本着UNIX的精神)快速推出解决方案的合理方法,但它是不可移植的。如果我是原型,或者是在快速开发计划下,我会考虑一下,只会倾向于更复杂的问题

  • 然后,应该考虑如何在可扩展的JavaEE环境中管理这些资源

  • 流程,用于流程管理-Java/Java EE无法使用,如
    ps
    /流程,需要转向O/S

  • 用于并行化工作的进程/线程-不要试图管理并行工作流。。javaee确实为此提供了可伸缩的api


您能告诉我们shell脚本的功能吗?一个执行PS查找进程,另一个使用Awk/Sed修改平面文件。两者都依赖于JMS消息内容。