2010-07-21 95 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