2010-07-21 62 views
0

我需要創建一個面向系統的方法提供者可以註冊它們處理的方法,並且消費者可以做兩件事情(現在) - 爲方法獲取元數據或執行它。我正在考慮創建一個REST風格的體系結構,其中方法是具有唯一URI的資源和由兩個方法組成的接口 - getMetadata和Execute。沒有HTTP請求的Spring MVC

我需要有一個等效的@RequestMapping,以便處理特定方法的提供程序可以由中央調度程序找到。結果提供者將返回Model或Metadata對象。

這看起來很像Spring MVC,但我不想在Web上公開和使用我的資源(方法)並使用http,因爲這會產生不必要的開銷。相反,我想使用它,就像調用java方法並傳遞java對象的標準java API一樣。 我可以通過編寫自己的等價的@RequestMapping和Dispatcher邏輯來做到這一點,但我想知道是否有更好的方式來與Spring做到這一點。有什麼建議麼?

謝謝! Kostadin

+2

您是指在JVM中本地訪問的API,還是通過網絡不使用HTTP? – Affe 2010-07-21 17:42:17

+0

前者 - 在JVM中訪問的API。 – Lobachevsky 2010-07-22 11:51:21

+0

所以Kostadin你有沒有試過NetKernel或其他的東西? – Ladlestein 2010-10-06 17:52:16

回答

0

你是說你想使用REST,一切都會有一個唯一的URI做,但不超過HTTP聽起來就像你正在尋找RMI或類似的東西...... Chech BurlapHessian他們都有來自春天的優秀支持。

+0

是的,因爲系統由可以由不同方提供的動態方法組成,所以我想到了使用URI來識別和定位方法。但我希望所有東西都留在JVM中,而不是通過HTTP。 – Lobachevsky 2010-07-22 11:58:24

+0

REST本身對HTTP沒有任何說明 - 在幾乎任何協議上實現REST概念是完全可行的,只是很多人通過HTTP來實現REST概念。僅僅因爲他不使用HTTP並不會使其成爲RMI。 – Gandalf 2010-07-23 14:47:43

+0

@Gandalf對。目前是否有任何其他實現的REST,而不是通過HTTP? – 2010-07-23 15:19:04

0

那裏有一些軟件可能會讓你感興趣,它們叫做NetKernel。它的文獻說它是一個面向資源計算的實現。看起來它嚴格地將其邏輯計算模型與物理細節分開。它是RESTful,定義了一個資源模型,一組有限的動詞和一個命名方案。用Java實現。內置HTTP和其他傳輸。

它沒有Java進程內傳輸,但您可能很容易編寫一個。

嗯......如果你永遠不需要處理來自進程外來源的請求,它可能是矯枉過正的,但也許它會告訴你一些有用的模式。

+0

這看起來和我所需要的非常相似。即使它不支持我需要的進程內傳輸,我也會仔細研究它。謝謝! – Lobachevsky 2010-07-22 12:22:27