问题标签 [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 投票
0 回答
101 浏览

java - 我们可以在 web 应用程序之外访问 spring 服务吗?

我们在 Web 应用程序中使用 spring 4.3 和 spring boot 1.5 版本。出于(产品)分析的目的,我们希望读取保存在 RDBMS 存储(Oracle)中的产品元数据。我们的应用程序使用 spring 框架来定义通过 hibernate (jpa) 访问数据库的服务。这些服务将业务逻辑添加到数据中,并将响应返回给 UI 层。

出于分析目的,我们希望读取产品元数据,其中涉及对各种基于 Spring 的服务的调用。我们不想在应用程序中添加此逻辑,以避免对应用程序代码进行任何代码更改并受到其发布周期的影响。我们想要一种从应用程序外部获取元数据的快速方法。为这些 spring 服务定义基于 REST 的 api 也不是一种选择。分析应用程序需要从位于不同软件版本的多个应用程序部署(针对不同客户)中获取此元数据。

是否可以从另一个应用程序调用基于 Spring 的服务?

谢谢。

0 投票
1 回答
817 浏览

java - 如何在春季远程处理中设置动态标题

我们需要使用 spring 远程调用一个 Bean 类,并在调用中设置动态标头。我们可以HttpInvokerRequestExecutorHttpInvokerProxyFactoryBean和添加标头中设置自定义,但是如何为请求设置动态生成的标头?

0 投票
1 回答
55 浏览

java - Spring-remoting SimpleHttpInvokerRequestExecutor 在不应该的时候重试请求

我正在调查一个非常奇怪的问题。我正在处理的项目使用 Spring-remoting 通过 http 调用方法。从我到目前为止收集的信息中,发生了以下情况:

  1. 我的客户端代码向服务器执行请求
  2. 服务器开始处理请求,但速度很慢
  3. 25-30 秒后,一个新的请求进入服务器
  4. 第二个请求完成,客户端继续处理
  5. 一段时间后,第一个请求完成,但客户端不再关心

由于我的客户端代码只对 Spring 远程客户端执行一个请求,并且客户端在它接收到的第二次调用完成后继续运行,因此我只能得出结论,这发生在 Spring 远程客户端的某个地方。

客户端用于AbstractHttpInvokerRequestExecutor进行实际的 http 调用,而这又用于SimpleHttpInvokerRequestExecutor发出请求。但是,据我所知,这没有重试请求的机制。所以现在我很困惑。

谁能想到可能导致这种行为的原因?(我试图让问题保持干净,但如果需要,我会提供更多详细信息。)

0 投票
1 回答
261 浏览

spring-boot - 我应该使用什么 JNDI 名称来查找使用 Spring Boot 部署在 websphere 中的远程接口?

我在 websphere 8.5.5 中部署了一个远程接口,我想在 Spring Boot 应用程序中查找它。我在我的spring boot中做了类似的接口,因为RMI我也使用了通用接口,SimpleRemoteStatelessSessionProxyFactoryBean但是返回的代理是null并且它正在抛出null指针proxy.invokeMethod()

现在它抛出这个错误:

0 投票
2 回答
1268 浏览

java - Could not deserialize result from HTTP invoker remote service [...]; nested exception is java.lang.ClassNotFoundException:

I am receiving the following error only when a shared library is added to my application on an IBM WebSphere instance (version 8.5.xx). The goal is to move a lot of shared libraries (jars) between some applications to a shared library on the server in order to reduce the war sizes of the applications. From what I have seen though, it doesn't matter if the war file size is reduced or not, whenever this shared library is added, we are seeing the below errors.

The following is a similar example of what the model class looks like on a smaller scale. I primarily wanted to note that it does indeed implement Serializable (using the default serialVersionUID):

Any debugging ideas even would be greatly appreciated at a minimum. I also wanted to note, that calling this remoting method works fine when the shared library isn't added to the application on the server, but doesn't seem to work when the shared library is added. Also, the shared library on the server does not have the jar that contains the class that cannot be found. The jar with the class that cannot be found is in my WEB-INF/lib folder and I have verified that to be installed on the server.

0 投票
0 回答
95 浏览

java - 当代理类不被接受时,Spring 的 HTTPInvoker 机制允许哪些序列化攻击?

我想评估我的基于 Spring 的客户端-服务器应用程序的安全性,该应用程序使用 Spring 的 HTTPInvoker 机制来交换数据。我知道过去已经解决了几个与 HTTPInvoker 使用的 Java 序列化有关的漏洞,其中最突出的漏洞之一是当 ajava.lang.reflect.Proxy以恶意方式使用时可能执行任意代码,请参阅http://wouter.coekaerts。 be/2011/spring-vulnerabilities详细解释。

修复包括禁用代理类反序列化的新设置,请参阅RemoteInvocationSerializingExporter#acceptProxyClasses. 据我了解,代理类对 Java(反)序列化构成严重风险,并且许多漏洞利用依赖于代理类。

在这种情况下,攻击者必须利用 HTTPInvoker 及其底层 Java 序列化机制中的漏洞来替代代理类的最重要替代方案是什么?是否存在与使用代理类一样严重的漏洞,我应该在我的雷达上发现这些漏洞?

我会很感激任何提示。谢谢。

0 投票
1 回答
30 浏览

spring-kafka - 如何使 Spring-remoting 在 Kafka 上工作?

有没有在(spring-)Kafka之上进行spring-remoting的示例(某处)?

非常感谢您的专业知识。

此致

0 投票
0 回答
148 浏览

java - 使用 JMS 进行 Camel Spring 远程处理 - 不明确的方法调用

我试图了解基于骆驼的 bean 和 spring 远程处理。

我创建了两个项目:

  • 一个充当具有嵌入式 ActiveMQ 的服务器
  • 另一个作为客户端使用骆驼弹簧远程代理来使用接口。

服务器端接口是 DeliveryService,它由 DeliveryServiceImpl 类实现,该类有两个方法重载并具有不同的方法签名。使用下面列出的代码,独立服务器运行没有任何问题。

  • 方法已实现并从客户端调用。

在客户端,包含接口,并注入到实际调用该方法的 bean。下面是它的xml配置。

现在,当我执行客户端时,我看到服务器端被调用但收到Ambiguous method invocation异常。

  • 根据文档,我希望 Camel BeanProcesser 应该能够调用正确的方法。

通过一点点挖掘,我注意到当使用多个参数调用接口时客户端无法转换。以下是客户端日志

我有几个问题:

  1. 在客户端,我在 UpdateDeliveryDetailsFromClient.java 类中自动连接 DeliveryService 接口,但由于 bean 位于<camel:proxy... 有没有办法使用@Autowired 注解在这里注入bean?

  2. 当调用方法具有不同的方法签名时,为什么 Camel 无法在此处识别正确的 bean 方法?(我可以尝试其他选项,例如在 Camel 标头中指定方法名称或直接调用该方法。)

注意:当我在界面中尝试使用一种方法时,流程有效。

详细的日志异常在底部。

服务器项目代码

  • Spring DSL 上下文 xml(文件:context-springremote-server.xml)

activemq-borker.xml

  • 我在类路径中有一个 log4j.properties 文件。
  • 我使用 Main() 方法用下面的代码执行了这个服务器。这按预期运行。

客户端代码

  • 上下文文件名 delivery-service-client-remote-context.xml
  • 调用接口方法的独立客户端代码
日志详细信息:
0 投票
1 回答
62 浏览

spring - 使用 Artemis Proton/Qpid 客户端进行 Camel Spring 远程处理 - 挂起发送消息

  • 当我使用 Camel spring 远程配置发送一些消息时,生产者和消费者都在不同的 JVM 中运行。
    • 使用 Apache artemis 2.14.0 版本
    • 骆驼版本 (2.20.0)、qpid (0.54.0)、pooled-jms (1.1.1)

我正在使用 LoadMessageSupport 类推送消息,我看到调用了骆驼路由并在调试日志消息下方。

我注意到在 Artemis 控制台中启用了一个生产者会话。

任何线索,如何调试或可能导致此问题的原因。

有一些与 netty 相关的调试错误,我安全地忽略了。

启用 TRACE 级别 Logs 后,注意到下面的 msg

  • 下面是我用来从 java 类发送消息的上下文 xml。
  • 运行上下文的java类,用于调用远程spring bean方法。
    • 使用下面的 java 类将消息推送到 Artemis 队列
  • 消息接收类
  • 生产者阶层
  • 消息接收者