如果有任何解决方案,例如适合 Apache Tomcat 6 的 Apach Rivet,我一直在徘徊。我的问题是我想加载所有必需的 pacages 以便运行一次并将其用于收到的所有请求。
我希望在 Apache Tomcat 上执行此操作,因为我的应用程序的其他部分正在其上运行,并且我不想支持两台服务器,例如 tclhttpd。
我虽然使用 apach CGI Servlet,但它只是运行我的脚本并最终释放资源,我得到了相同的效果。
谢谢
如果有任何解决方案,例如适合 Apache Tomcat 6 的 Apach Rivet,我一直在徘徊。我的问题是我想加载所有必需的 pacages 以便运行一次并将其用于收到的所有请求。
我希望在 Apache Tomcat 上执行此操作,因为我的应用程序的其他部分正在其上运行,并且我不想支持两台服务器,例如 tclhttpd。
我虽然使用 apach CGI Servlet,但它只是运行我的脚本并最终释放资源,我得到了相同的效果。
谢谢
JTcl是用 Java 编写的 Tcl 的实现;应该可以在 Tomcat webapp 中使用。但是,我从来没有真正尝试过,所以我不知道webapp卸载时资源释放是否有任何问题。如果我没记错的话,您的脚本可能也有问题,因为 JTcl 实现了相当旧的 Tcl 版本。确定您是否可以使用 JTcl 的最佳方法可能是尝试它(首先使用一个简单的脚本,它只是执行诸如报告版本之类的操作,然后使用您的真实脚本)。
如果你不能让它适用于你的脚本,那么通过 CGI 之类的东西运行标准的 Tcl 解释器(或 Starpack)是你最好的选择。(Tcl 通常比 Java 轻得多,因此 CGI 的开销并没有那么大。还有其他加速选项。)
如果您不介意使用本机库,那么TclBlend可能值得一看。当您将它与 Tcl > 8.4 的 Tcl 一起使用时会出现一些问题(也就是将 Java 加载到 Tcl 中,但这不是您想要的)
Jacl 和 TclBlend 在 Tcl 和 Java 端都使用相同的 API,JTcl 是(afaik)Jacl 的一个分支。