问题标签 [spring-remoting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3270 浏览

java - 动态远程服务位置 - 如何使用 Spring 注入?

我目前正在为一个工作项目开发分布式服务架构。本质上,我们管理着超过 200 台机器。这些机器中的每一个都有一个运行在它们上面的服务实例,它允许我们以特定的方式与机器交互。

在中心,我有一个控制应用程序,它需要与这 200 个相同的服务通信。我希望通过 Spring Remoting 使用 RMI 来实现这一点,允许我将我的远程服务 @Autowire 到我的 @Controller 中,并将其视为具有异常传播的本地服务,并且可能在未来通过钩子传播事务/安全上下文。

这对于单台机器上的单一服务非常有用,我可以在我的 Spring 配置中对远程服务进行硬编码,但我无法弄清楚如何动态选择我想要谈论的服务(也就是哪台机器)在运行时并以“Spring”方式使该远程服务可用。

我希望能够从数据库表动态配置它并使用相同的表信息来进行服务查找,同时仍然利用依赖注入。

我想也许注入某种可以进行某种服务查找的服务管理器,但希望其他人能够优雅地解决这个(或类似的)问题。

硬编码的单个服务实例的示例如下:

第一个 XML 片段在机器服务本身上,告诉 Spring 通过 RMI 公开它

第二个 XML 片段位于客户端(控制应用程序)上,它允许我访问公开的服务

这是我试图动态化的第二个配置。如您所见,要创建此服务代理,我需要在创建 bean 时知道服务 URL。服务 URL 可以是 200 多种变体中的一种,具体取决于我要与之交谈的机器。我正在与之交谈的服务是相同的接口,但根据当前的请求上下文,直到运行时我才会知道哪台机器。

0 投票
0 回答
4100 浏览

java - Tomcat 上的 RMI Spring

我有一个 RMI 服务器应用程序和一个 RMI 客户端应用程序。两者都配置了 Spring Remoting。将客户端作为 Java 应用程序运行正常,连接到服务器。

我想将 RMI Client .jar 添加到在 Tomcat 中运行的 Spring MVC 应用程序中。当我部署 Web 应用程序时,我得到以下信息:

在 RMI 服务器中,我有

在 RMI 客户端中,我有 springRMI.xml:

在 web 应用程序中,我添加了 RMI 客户端 jar 依赖项并配置了 spring 上下文:

0 投票
1 回答
2388 浏览

java - spring httpinvokerserviceexporter 客户端必须在同一个框架上吗?

抱歉,我是 spring 新手,对 httpinvokerserviceexporter 有疑问。我按照教程进行了基本设置:

只是为了测试我是否工作:我运行 urlhttp://localhost:8080/hello_spring/hello.htm并从 glassfish 服务器获得以下堆栈跟踪:

那么,这个错误是由我使用浏览器而不是启用 spring 和 java 应用程序引起的吗?

0 投票
3 回答
3347 浏览

java - 春季远程映射网址

我已经按照教程进行了春季远程处理,特别是在HttpInvokerServiceExporter设置客户端和服务器(factorybean)时没有问题。

问题是,我注意到使用 Spring MVC,每个接口都映射到一个特定的 URL

问题是,如果我的服务接口中有多个方法,是否可以将这些接口方法中的每一个映射到 URL 本身?

0 投票
1 回答
304 浏览

spring - 将 SpringHttpInvoker 与 WSO2 ESB 集成?

我有多个 Spring HttpInvoker 服务,并希望将它们与 WSO2 ESB 集成。我真的是 ESB 的新手,所以有人可以帮助我吗?

我想将所有这些集成到 WSO2 ESB 中,并拥有来自 WSO2 ESB 的单个调用接口。

0 投票
4 回答
3322 浏览

java - 当通过 Hessian 使用 Spring 远程传输时,BigDecimal 值始终为零

当我通过 Spring 的 Hessian 功能调用返回 BigDecimal 值的远程方法时,它总是返回零。直接调用该方法或使用普通的 Hessian servlet(非 Spring)可以正常工作。

可以做些什么来解决这个问题?

服务器端(Tomcat 7)

网页.xml:

远程处理-servlet.xml:

我调用其方法的服务类:

客户端

Spring配置-applicationContextHessian.xml:

控制台应用测试:

编辑:使用的库是 Spring 3.2 和 Hessian 4.0.7

0 投票
2 回答
2642 浏览

java - 在 Spring 中使用 Hessian 远程处理的客户端基本 HTTP 身份验证

在客户端我有以下spring bean:

我正在调用 Hessian 网络服务:

这工作得很好,直到我在服务器端打开 Spring Security,之后我得到预期的错误 - “服务器返回 HTTP 响应代码:403”。

那么,如何在客户端配置用户名和密码呢?

0 投票
2 回答
1151 浏览

java - 在 Spring 中维护 Hessian Web 服务调用之间的 HTTP 会话

我已经根据Spring 远程处理文档设置了我的服务,但是在客户端应用程序中,我想调用服务方法,同时重用相同的 HTTP 会话,因为我想在服务器上存储与会话相关的数据(而不是查询每次通话的数据)。

这可能吗?

客户端spring服务配置:

目前,每个调用的方法都会生成一个新的 sessionID:

0 投票
1 回答
2339 浏览

spring - RMI 服务导出器和 HttpInvoker 之间的区别?

RMI 服务导出器和 HttpInvoker 有什么区别?

我知道 RMI 使用 RMI 作为底层通信技术和调用者标准 http post。还有其他值得注意的区别吗?

0 投票
2 回答
1266 浏览

java - Spring HTTP 调用程序在处理下一个请求之前等待一秒钟

我已经设置了一个 spring http 调用程序示例,如此处所述http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/remoting.html在第 20.4 节中

如果我连续执行多个服务调用(请参阅我的 for 循环),则单个调用之间是一秒钟,尽管服务器在不到 4 毫秒的时间内处理该方法。

有任何想法吗。

斯特凡

这里的配置和调用: