1

Tomcat 8 で実行されている Spring 4.0 ベースの Web アプリケーションがあります (または、Undertow の起動スクリプトがあります)。Spring MVC はリクエストを処理しています。従来の Java コードへの変更を最小限に抑えて、リクエスト処理コードの一部を Clojure ライブラリに任せる方法を探しています。

たとえば、URL が で終わるリクエストは.java従来の Java で処理され、で終わるリクエスト.cljは Clojure で処理されます。今のところ、3 つのオプションが表示されます。

  1. Clojure ライブラリ jar を Java プロジェクトの依存関係に含め、Javaclojure.java.apiから Clojure コードを呼び出すために使用します。
  2. Redis や Carmine のメッセージ キュー処理機能など​​、ある種の RPC/RMI またはメッセージ キューを使用します。このように、Clojure は別の JVM に存在します。
  3. ある種のリバース プロキシを使用して URL ルーティングを実行します。

上記のアプローチは実際に実行可能ですか? 他に何を提案しますか?

ありがとう!

4

1 に答える 1

3

私は同様のことをしましたが、Spring アプリケーションではなく DropWizard アプリケーションで行いました。アプローチ#1を使用しました。

ここの例に従いました - https://stackoverflow.com/a/2187427/827617 でライブラリを作成しました。そうすれば、 を使用する必要はありませんclojure.java.api。Clojure ライブラリは、Spring アプリケーションに含めて Java から直接呼び出すことができる jar にコンパイルされます (公開する関数は、クラスの静的メソッドです)。

于 2015-02-09T15:29:01.427 に答える