使用telnet连接到基于spring的应用上执行容器中的bean的任意方法 使用telnet连接到基于spring的应用上执行容器中配置的任何bean的任意方法,可以用来诊断某个方法是否执行有问题,响应时间多少,在生产环境中可以很好的定位及监控方法是否存在问题。 代码在:https://github.com/zhwj184/springInvokemonitor git clone git@github.com:zhwj184/springInvokemonitor.git maven clean install pom依赖: <dependency> <groupId>org.zhwj184</groupId> <artifactId>springinvokemonitor</artifactId> <version>1.0-SNAPSHOT</version> </dependency> 使用方式,在spring的配置文件中添加下面这个bean即可。 <bean id="ServiceInvokeClient" class="org.zhwj184.ServiceInvokeClient" /> 使用示例:先写一个service TestBean,里面有两个方法,add和addBean import com.alibaba.fastjson.JSON; public class TestBean { public float add(int a, float b){ return a + b; } public A addBean(A a, A b){ A c = new A(); c.setC(a.getC() + b.getC()); c.setD(a.getD() + b.getD()); return c; } public static void main(String[] args) { A c = new A(); c.setC(23); c.setD(323.34); System.out.println(JSON.toJSON(c)); } } class A{ int c ; double d; public int getC() { return c; } public void setC(int c) { this.c = c; } public double getD() { return d; } public void setD(double d) { this.d = d; } } 然后在spring配置文件 service.xml添加 <bean id="testBean" class="org.zhwj184.TestBean" /> <bean id="ServiceInvokeClient" class="org.zhwj184.ServiceInvokeClient" /> 写一个测试类,执行这个main方法, import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainTest { /** * @param args * @throws InterruptedException */ public static void main(String[] args) throws InterruptedException { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:service.xml"); Thread.sleep(100000000); } } 然后通过telnet连到这个服务上,打开命令行窗口,输入telnet localhost 12667,连上之后,输入ls bean名称,即可查询这个bean的所有方法,使用invoke beanname.method(param1,param2) 执行某个方法,参数如果为bean则可以使用json格式传入,参数之间用;分隔 ====================================================== Welcome to Telnet Server: Version 1.0 ====================================================== List of possible commands: Status: displays the status of the server cd : [ cd /usr/local] pwd: displays the working directory ls: displays list of files in the working directory mkdir : [ mkdir /usr/local/tmp] exit : quit this programme ls testBean org.zhwj184.A org.zhwj184.TestBean.addBean(org.zhwj184.A,org.zhwj184.A) void org.zhwj184.TestBean.main([Ljava.lang.String;) float org.zhwj184.TestBean.add(int,float) int org.zhwj184.TestBean.hashCode() java.lang.Class org.zhwj184.TestBean.getClass() void org.zhwj184.TestBean.wait(long,int) void org.zhwj184.TestBean.wait() void org.zhwj184.TestBean.wait(long) boolean org.zhwj184.TestBean.equals(java.lang.Object) java.lang.String org.zhwj184.TestBean.toString() void org.zhwj184.TestBean.notify() void org.zhwj184.TestBean.notifyAll() invoke testBean.add(1;2.4) result:java.lang.Float 3.4 run time: 0ms invoke testBean.addBean({"c":23,"d":323.34};{"c":3433,"d":3232433.34}) result:org.zhwj184.A {"c":3456,"d":3232756.6799999997} run time: 0ms 这样可以诊断spring容易中任何bean的任意方法,执行方法,看看返回结果是否跟预期的一致。一般生产环境跟测试环境很多依赖条件(数据库,服务等)都不一样,所以线上出现问题一般都可以知道参数,通过执行方法就可以看看结果是否正确,并且查看某个方法的执行时间来看方法是否有性能问题。 不过这里的代码只是简单做个示例,代码中关于参数的类型,结果匹配反射等可能不够完善也没有测试得很充分,有问题有兴趣的环境反馈给我。
相关推荐
3. **循环处理**:对于每个读取到的IP地址,建立telnet连接,执行预设的命令,然后断开连接。 4. **错误处理**:包含适当的错误处理机制,如捕获无法连接或命令执行失败的情况。 在实际应用中,可能还需要根据具体...
telnet是一种远程登录协议,它允许用户通过Internet连接到另一台计算机,并在这个远程计算机上进行工作,就像坐在那台计算机前一样。这种技术在早期网络中广泛应用,用于系统管理员远程管理服务器、测试网络服务等...
本文将深入探讨如何使用批处理(BAT)脚本来实现通过telnet进行自动登录并执行ping命令,以此来远程检测网络连通性。这在监控服务器、网络故障排查或自动化测试场景下尤为常见。 首先,让我们理解一下涉及的三个...
完成Mina应用的开发后,将其部署到服务器上,可以使用telnet命令进行简单的测试,验证TCP服务是否正常工作。更复杂的测试可以通过编写集成测试用例来实现,确保业务逻辑的正确性。 总的来说,基于Spring的Mina框架...
java-telnet连接远程服务器并执行shell命令 具体代码 java-telnet
telnet 客户端的c++实现,socket模拟实现telnet 的远程连接。以及telnet 的模拟其他指令发送 接收。
本脚本使用到了管道和后台运行 telnet 的技术,可以在远程主机上执行各种命令,并将输出记录到文件中。 知识点一:Telnet 命令 Telnet 是一种远程登录协议,允许用户从远程主机上登录到另一个主机上。Telnet 命令...
在这个场景中,我们关注的是使用Python进行telnet自动登录并执行特定命令的功能。Telnet是一种远程访问协议,常用于配置和诊断网络设备,如路由器、交换机等。而通过编程实现自动化,可以显著减少手动操作的时间和...
"基于Socket的Telnet服务设计与实现" 一、Telnet协议概述 Telnet协议是TCP协议族中的一员,是Internet远程登录服务的标准协议。远程登录是指用户使用Telnet命令,使自己的计算机成为远程主机的一个仿真终端的过程...
在这个场景中,我们关注的是"telnet自动连接脚本",这涉及到远程终端服务和自动化技术。telnet是一种古老但仍然广泛使用的协议,允许用户通过网络控制远程主机的命令行界面。在描述中提到的“ftprun1.bat”和...
在IT领域,远程访问和管理服务器是常见的需求,而Telnet协议提供了一种基于文本的网络通信方式,允许用户从远程客户端连接到服务器并执行命令。Java作为一种广泛应用的编程语言,提供了丰富的库来支持这种通信。以下...
java源代码,通过telnet方式连接服务器,可以设置是否记录日志等信息。经过稍微改动可以实现类似crt软件的功能。
Telnet的应用不仅方便了我们进行远程登录,也给hacker们提供了又一种入侵手段和后门,但无论如何,在你尽情享受Telnet所带给你的便捷的同时,你是否真正的了解Telnet呢? Telnet服务虽然也属于客户机/服务器模型的...
一键连接Telnet客户机并执行指令,右键编辑IP、用户名、密码和指令
### 远程桌面连接与Telnet远程访问详解 #### 一、远程桌面连接概述 远程桌面连接是一种允许用户从一个位置远程控制另一台计算机的技术。...在实际应用中,应根据具体情况选择合适的方法,并注意保护网络安全。
在IT行业中,网络通信是至关重要的部分,而`telnet`是一种基础的远程登录协议,允许用户通过命令行界面连接到远程服务器并执行各种操作。本文将深入探讨如何使用C#编程语言实现telnet功能,并结合提供的文件名称...
这个脚本将读取ip.list文件中的IP地址列表,对每个IP地址使用Telnet连接到22端口,并将结果记录到telnet_result.txt文件中。 3. 使用并行执行来加速Telnet 为了加速Telnet过程,可以使用并行执行来同时连接多个...
本文将深入探讨“一个简单的Telnet连接工具”,了解其工作原理、使用方法以及相关的安全考量。 【描述】:“Telnet连接” Telnet连接是指通过Telnet协议建立的通信链路,使得本地计算机能够模拟远程主机的终端。这...
Java语言在IT行业中被广泛应用,尤其在网络通信和系统管理领域,它提供了丰富的库来支持远程连接功能,如telnet、ftp和ssh。本资源包"java远程进行telnet,ftp,ssh连接的方法及源代码.rar"就是针对这些功能的一个详细...
Telnet协议是一种网络协议,允许用户通过网络连接到远程主机并执行命令,类似于SSH(Secure Shell)但不提供加密和安全性的保障。Apache Commons Net库提供了对Telnet协议的支持,使得开发者可以用Java方便地创建...