我们有一个在 Tomcat 8 中运行的基于 Spring 4.0 的 Web 应用程序(或者我们有一个 Undertow 的启动脚本)。Spring MVC 正在处理请求。我正在寻找一种将一些请求处理代码推迟到 Clojure 库的方法,而对遗留 Java 代码的更改最少。
例如,以 URL 结尾的请求.java
将由旧版 Java 处理,而以 结尾的请求.clj
将由 Clojure 处理。目前,我看到三个选项:
- 在 Java 项目的依赖项中包含 Clojure 库 jar,并用于
clojure.java.api
从 Java 调用 Clojure 代码。 - 使用某种 RPC/RMI 或消息队列,例如 Redis 和 Carmine 的消息队列处理能力。这样,Clojure 将存在于一个单独的 JVM 中。
- 使用某种反向代理来执行 URL 路由。
以上方法真的可行吗?你还有什么建议?
谢谢!