我们在Tomcat 8中运行了一个基于Spring 4.0的Web应用程序(或者我们有一个Undertow的启动脚本)。 Spring MVC正在处理请求。我正在寻找一种方法将一些请求处理代码推迟到Clojure库,只需对遗留Java代码进行最小的更改。
例如,具有以.java
结尾的URL的请求将由旧Java处理,而以.clj
结尾的请求将由Clojure处理。现在,我看到三个选项:
clojure.java.api
从Java调用Clojure代码。以上方法实际可行吗?你还有什么建议?
谢谢!
答案 0 :(得分:3)
我在DropWizard应用程序而不是Spring应用程序上做了类似的事情。我选择了方法#1。
我按照这里的示例 - https://stackoverflow.com/a/2187427/827617
创建库。这样你就不需要使用clojure.java.api
了,你的Clojure库可以编译成一个jar,你可以将它包含在你的Spring应用程序中并直接从Java调用(你公开的函数是类中的静态方法)。