arthas获取spring bean

参考文章

arthas获取spring bean

写一个工具Util

package com.example.lredisson.util;import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;/*** @author lixiognl -c 18b4aac2 '#context=@com.example.lredisson.util.OSSSpringUtil@getContext(),#context.getBean("testModel").getAge()'* */@Component
public class OSSSpringUtil implements ApplicationContextAware {private static ApplicationContext context;@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {context = applicationContext;}public static <T> T getBean(String beanName, Class<T> clazz) {return context.getBean(beanName, clazz);}public static Object getBean(String beanName) {return context.getBean(beanName);}public static ApplicationContext getContext() {return context;}
}

结果

sc -d com.example.lredisson.util.OSSSpringUtilclass-info        com.example.lredisson.util.OSSSpringUtil                                                                       code-source       /Users/admin/work/llixi/lredisson/target/classes/                                                              name              com.example.lredisson.util.OSSSpringUtil                                                                       isInterface       false                                                                                                          isAnnotation      false                                                                                                          isEnum            false                                                                                                          isAnonymousClass  false                                                                                                          isArray           false                                                                                                          isLocalClass      false                                                                                                          isMemberClass     false                                                                                                          isPrimitive       false                                                                                                          isSynthetic       false                                                                                                          simple-name       OSSSpringUtil                                                                                                  modifier          public                                                                                                         annotation        org.springframework.stereotype.Component                                                                       interfaces        org.springframework.context.ApplicationContextAware                                                            super-class       +-java.lang.Object                                                                                             class-loader      +-sun.misc.Launcher$AppClassLoader@18b4aac2                                                                    +-sun.misc.Launcher$ExtClassLoader@6aceb1a5                                                                  classLoaderHash   18b4aac2                                                                                                       Affect(row-cnt:1) cost in 28 ms.
[arthas@12906]$ ognl -c 18b4aac2 '#context=@com.example.lredisson.util.OSSSpringUtil@getContext(),#context.getBean("testModel").getAge()'
@Integer[20]

在这里插入图片描述

arthas验证先生代码版本

直接找到需要判断的class,用jad反编译看看结果最简单了啊。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS给应用添加消息通知

给您的应用添加通知 通知介绍 通知旨在让用户以合适的方式及时获得有用的新消息&#xff0c;帮助用户高效地处理任务。应用可以通过通知接口发送通知消息&#xff0c;用户可以通过通知栏查看通知内容&#xff0c;也可以点击通知来打开应用&#xff0c;通知主要有以下使用场景…

Cell Systems | 深度学习开启蛋白质设计新时代

今天为大家介绍的是来自Bruno Correia团队的一篇综述。深度学习领域的迅速进步对蛋白质设计产生了显著影响。最近&#xff0c;深度学习方法在蛋白质结构预测方面取得了重大突破&#xff0c;使我们能够得到数百万种蛋白质的高质量模型。结合用于生成建模和序列分析的新型架构&am…

相机倾斜棋盘格标定全记录 vs200+opencv安装

论文参考是这个 Geiger A, Moosmann F, Car , et al. Automatic camera and range sensor calibration using a single shot[C]//Robotics and Automation (ICRA), 2012 IEEE International Conference on. IEEE, 2012: 3936-3943. 代码是这个github 花了一上午配好了c环境。。…

Flink系列之:SQL提示

Flink系列之&#xff1a;SQL提示 一、动态表选项二、语法三、例子四、查询提示五、句法六、加入提示七、播送八、随机散列九、随机合并十、嵌套循环十一、LOOKUP十二、进一步说明十三、故障排除十四、连接提示中的冲突案例十五、什么是查询块 SQL 提示可以与 SQL 语句一起使用来…

Sci. Rep. | 一个对任意分子体系实现准确且高效几何深度学习的通用框架

这篇工作是来自纽约城市大学/康奈尔医学院谢磊团队的一篇论文。作者提出了一个通用框架&#xff0c;PAMNet&#xff0c;可以对任意分子体系实现准确且高效的几何深度学习。在小分子性质、RNA三维结构以及蛋白质-配体结合亲和力的预测任务上&#xff0c;PAMNet在准确性和效率方面…

Express中使用Swagger

Swagger Swagger 是一种规范&#xff0c;用于描述 API 的结构&#xff0c;功能和参数。使用 Swagger 可以提供清晰的可视化 API 文档&#xff0c;可用于 API 交互的文档驱动开发&#xff0c;以及 API 的自动化测试和集成。 使用 npm 或 yarn 下载。 npm install swagger-jsdo…

【ESXi】ESXi 版本回退

目录 8. ESXi 版本回退8.1 版本回退条件与注意事项8.2 版本回退步骤8.3 示例演示&#xff08;1&#xff09;准备工作&#xff08;2&#xff09;进入DCUI界面&#xff08;3&#xff09;按 F11 重启系统引导&#xff08;4&#xff09;进入引导选项&#xff08;5&#xff09;进入 …

弧形导轨的精度等级

为符合工控自动化生产制造必须&#xff0c;弧形导轨在运输武器装备领域应时而生&#xff0c;并已在电子生产制造、手机上、半导体材料、动力锂电池等领域获得广泛运用。其中&#xff0c;弧形导轨的精度等级是评估其运动精度的重要指标&#xff0c;通常包括制造精度和运行精度两…

Flink系列之:大状态与 Checkpoint 调优

Flink系列之&#xff1a;大状态与 Checkpoint 调优 一、概述二、监控状态和 Checkpoints三、Checkpoint 调优四、RocksDB 调优五、增量 Checkpoint六、RocksDB 或 JVM 堆中的计时器七、RocksDB 内存调优八、容量规划九、压缩十、Task 本地恢复十一、主要&#xff08;分布式存储…

spring-kakfa依赖管理之org/springframework/kafka/listener/CommonErrorHandler错误

问题&#xff1a; 整个项目使用spring-boot2.6.8版本&#xff0c;使用gradle构建&#xff0c;在common模块指定了implementation org.springframework.kafka:spring-kafka:2.6.8’这个工程也都能运行&#xff08;这正常发送kafka消息和接收消息&#xff09;&#xff0c;但是执行…

java --- 集合进阶

目录 一、单列集合顶层接口 Collection 1.1 基本方法 1.2 Collection 的遍历方式 二、list集合 1.2 ArrayList Vector 底层结构 1.3 LinkedList ArrayList 和 LinkedList 比较 三、set接口 3.1、Set 接口和常用方法 3.2 HashSet HashSet 底层机制&#xff08;HashMap…

VB.NET创建AOT无依懒的winform 独立EXE,动态库如何调用?

public a as long 9977public function add(a as long,b as long) as longaddab end function VB.NET用AOT编绎成独立EXE,只能生成无函数的dll(默认有个DotNetRuntimeDebugHeader&#xff09;&#xff0c;无法导出自有模块或类中的API EXPORT动态库 &#xff08;AOT只能生成64…

raise KeyError(key) from err KeyError: ‘sex‘

一、问题揪出&#xff1a; File “/usr/share/anaconda3/envs/tf2.0-gpu/lib/python3.7/site-packages/pandas/core/frame.py”, line 2906, in getitem indexer self.columns.get_loc(key) File “/usr/share/anaconda3/envs/tf2.0-gpu/lib/python3.7/site-packages/pandas/…

Vue 宝典之动画(transition)

文章目录 &#x1f951;Vue 过渡效果的基础概念&#x1fad2;<transition> 组件的基本用法&#x1fad2; 过渡类名&#x1fad2;CSS 过渡 &#x1f951;Vue.js 中的高级动画特性&#x1fad2;多个元素的过渡&#x1fad2;使用 JavaScript 钩子函数控制动画&#x1f346; …

四十六----react路由

一、react 路由使用 import {render } from "react-dom"; import {BrowserRouter,Routes,Route, } from "react-router-dom"; // import your route components too render(<BrowserRouter><Routes><Route path="/" element={&l…

Vue学习笔记-Vue3的toRef和toRefs

toRef 作用&#xff1a;创建一个ref对象&#xff0c;其value值指向与其绑定的数据对象中的某个属性&#xff0c;当toRef创建的对象值改变时&#xff0c;与其绑定的响应式对象中对应的属性也发生改变导入&#xff1a;import {toRef} from vue使用&#xff1a;const name toRef…

OSG基础学习 - 顶点数组类型、法线、绘制四边形

之前已经学习了osg加载场景的基本流程; Geometry类型是一个几何体对象;定义一个几何体对象geom1; Vec3Array是向量数组类型,定义该类型的变量v1; v1调用push_back方法放入4个向量,Vec3是三维向量; 并把v1设置为geom1的顶点数组; 法线也是用一个三维向量表示; 定义一…

Python【Matplotlib】图例可拖动改变位置

代码&#xff1a; import matplotlib.pyplot as plt from matplotlib.widgets import Button# 创建一个示例图形 fig, ax plt.subplots() line, ax.plot([1, 2, 3], labelLine 1)# 添加图例 legend ax.legend(locupper right, draggableTrue)# 添加一个按钮&#xff0c;用于…

mybatis动态SQL-sql片段

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…

Electron 中创建透明窗口

在开发 Electron 应用时&#xff0c;可能需要创建完全透明的窗口&#xff0c;比如我们要做一个屏幕内容共享的功能&#xff0c;在特定矩形区域内的内容才会被共享出来&#xff0c;而这个区域是一个透明且可被穿透的区域。 首先我们需要再主进程上创建一个矩形窗口 const scre…