远程调用-rmi远程连接被拒绝
【问题背景】
本项目的导入导出功能是异步实现的,即:
第一步:前台页面先点击“导入”、“导出”按钮,后台给任务表Task插入一条队列任务;
第二步:Linux主机上的定时程序扫描Task表,然后远程调用Windows主机上部署的“导入导出应用”(ps:中间还有好几个应用之间的调用,此处省略)
第三步:前台页面“下载报告”中查看任务执行情况,并提供“下载”按钮去下载导出的excel文件。
【问题描述】
导出功能在最终上线的时候,发现任务不执行(ps:开发环境、测试环境、准生产环境都验证没有问题)。
【报错信息】
连接被拒绝 Connection refused [IP地址2]
【问题分析】
第一步:找到哪个节点除了问题?(ps:由于是异步,且整个架构涉及好几个节点,不清楚是哪个节点除了问题,只能一步一步跟踪)。
通过跟踪日志,发现Linux上的定时程序没有调用到Windows主机上(ps:window主机上的应用日志没有变化)
第二步:查看定时程序的日志,发现连接被拒绝,但是打印的“IP地址2”不是系统中配置的目标地址。
检查配置文件,发现地址没有配错,确实是“IP地址1”,但是rmi一调用打印出的出错日志中显示的总是“IP地址2”
分别使用ping命令和telnet命令检查网络是否联通,发现“IP地址1”是通的,“IP地址2”是不通的。
下一个问题:为什么会IP地址会发生变化呢?
第三步:怀疑是网络问题,检查Window主机的IP地址情况,使用ipconfig命令发现了三个IP地址。
继续查看网络连接,发现有三个网卡(ps:windows主机是安装在虚拟机上的,这三个网卡也都是虚拟网卡),其中一个是我们配置的地址“IP地址1”,
也有一个是报错信息里面的IP地址“IP地址2”,“IP地址1”和“IP地址2”是同一台主机上的多个虚拟网卡。
下一个问题:怎么只让客户端rmi程序连接“IP地址1”呢?
【解决方案】
禁用多余的虚拟网卡,只留下目标地址“IP地址1”,然后重启Windows主机(PS:重启才会生效,切记),再次调用,问题解决。
远程调用-rmi远程连接被拒绝相关推荐
- 【Android 逆向】Android 进程注入工具开发 ( 远程调用总结 | 远程调用注意事项 )
文章目录 一.远程调用总结 二.远程调用注意事项 一.远程调用总结 在之前的博客 [Android 逆向]Android 进程注入工具开发 ( 调试进程中寄存器的作用 | 通过 EIP 寄存器控制程序 ...
- Rpc远程调用框架的设计与实现(1)
Rpc远程调用框架的设计与实现 1 Rpc远程调用框架设计概述 1.1 研究背景 1.1.1传统的Web开发方式 在传统的Web应用程序中,一般都是采取请求→刷新→显示的模式.即每当用户通过单击 ...
- 分布式通信:远程调用
分布式通信:远程调用 前言 什么是远程调用? 远程调用的原理及应用 RPC 的原理及应用 RMI 的原理及应用 RPC 与 RMI 对比分析 知识扩展:远程过程调用存在同步和异步吗? 总结 前言 分布 ...
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
文章目录 一.准备 mmap 函数的参数 二.mmap 函数远程调用 一.准备 mmap 函数的参数 上一篇博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 远程调 ...
- 系统间通信2:通信管理与远程方法调用RMI
本文引用 : https://yinwj.blog.csdn.net/article/details/49120813 RMI : Remote Method Invocation,远程方法调用 RP ...
- Spring-整合JDBC-事务-远程方法调用RMI
一.spring整合JDBC spring整合jdbc使用了模版方法设计模式 定义一套规范,固定流程不变,传入可变内容 1.Maven项目添加依赖 spring-context坐标依赖 mysql驱动 ...
- RPC远程调用(RMI的方式实现RPC、HttpClient实现RPC远程调用)
RPC是什么? 2.3RPC实现的技术: 3:RMI实现RPC远程调用: 3.1RMI介绍 3.2RMI实现vip访问orders 3.2.1开发服务生产者(provider) 3.2.1.1创建or ...
- 远程调用:远程过程调用(RPC)和远程方法调用(RMI)
远程调用包括远程过程调用(RPC)和远程方法调用(RMI) 1.请求-应答协议 请求-应答协议描述了一个基于消息传递的范型,支持消息双向传输. 涉及三个通信原语 (1)doOperation:向指定的 ...
- 《Spring技术内幕》学习笔记19——Spring RMI实现远程调用
1.Spring除了使用基于HTTP协议的远程调用方案,还为开发者提供了基于RMI机制的远程调用方法,RMI远程调用网络通信实现是基于TCP/IP协议完成的,而不是通过HTTP协议. 在Spring ...
最新文章
- Twiiter,下一个热点
- 文档标题:WinNTWin2K下实现进程的完全隐藏
- python语言程序设计梁勇-Python语言程序设计(美-梁勇)第1章习题解答
- 原创:MS Dynamics AX - XBRL 功能
- 全国高等学校计算机等级考试(江西考区)一级笔试试卷a,全国高等学校计算机等级考试(江西考区)一级笔试试卷A...
- 易思汇完成近亿元B轮融资,信中利投资
- 大数据数据科学家常用面试题_进行数据科学工作面试
- 一群参与境内外赌博网站的开发的程序员被抓,网友:切勿面向监狱编程...
- Windows临界区简单实现
- linux下挂载共享目录,linux下挂载windows的共享目录
- linux内存管理方式,简要概括Linux内存管理的方式
- html 拖拽图片验证,JavaScript实现拖动滑块拼图验证功能(html5、canvas)
- win10 保护计算机 密码,在win10中这样设置用户密码过期时间,可以保证电脑安全...
- nx531j android版本,努比亚Z11(NX531J)官方固件rom全量系统升级更新包:V2.92
- jvm gc垃圾回收情况
- 基于opencv的模式识别——水果类别识别与计数
- BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过
- 揭秘:全球SaaS行业估值第三的巨头ServiceNow是如何计算流失率的?
- HUD - 1873
- 2020 GDUT Rating Contest III (Div. 2) B - Loan Repayment 题解