jedis报LinkageError错误:javax/management/MBeanServer

Shopee App加密算法逆向实战:从libshpssdk.so到x-sap-ri的生成机制 本文详细解析了Shopee App核心加密参数x-sap-ri的生成机制。通过逆向分析libshpssdk.so动态库,揭示了其采用9套算法动态切换的复杂签名逻辑,并分享了从抓包定位、Frida动态调试到Unidbg模拟执行的全过程实战经验,为移动应用安全研究提供了完整的技术路径。 阅读详情

jedis报LinkageError错误:javax/management/MBeanServer


使用jedis客户端时,遇到下面异常信息:

Horrible Exception: java.lang.LinkageError: loading constraint violation: loader "com/ibm/ws/classloader/CompoundClassLoader@6a36fae" previously initiated loading for a different type with name "javax/management/MBeanServer" defined by loader "com/ibm/oti/vm/BootstrapClassLoader@7853887"at java.lang.ClassLoader.defineClassImpl(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:262)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69)at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:829)at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:744)at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585)at java.lang.ClassLoader.loadClass(ClassLoader.java:627)at org.apache.commons.pool2.impl.BaseGenericObjectPool.jmxRegister(BaseGenericObjectPool.java:947)at org.apache.commons.pool2.impl.BaseGenericObjectPool.<init>(BaseGenericObjectPool.java:132)at org.apache.commons.pool2.impl.GenericObjectPool.<init>(GenericObjectPool.java:107)at redis.clients.util.Pool.initPool(Pool.java:43)at redis.clients.util.Pool.<init>(Pool.java:31)at redis.clients.jedis.JedisPool.<init>(JedisPool.java:80)at redis.clients.jedis.JedisClusterInfoCache.setNodeIfNotExist(JedisClusterInfoCache.java:107)at redis.clients.jedis.JedisClusterInfoCache.discoverClusterNodesAndSlots(JedisClusterInfoCache.java:54)at redis.clients.jedis.JedisClusterConnectionHandler.initializeSlotsCache(JedisClusterConnectionHandler.java:39)at redis.clients.jedis.JedisClusterConnectionHandler.<init>(JedisClusterConnectionHandler.java:28)at redis.clients.jedis.JedisSlotBasedConnectionHandler.<init>(JedisSlotBasedConnectionHandler.java:21)at redis.clients.jedis.JedisSlotBasedConnectionHandler.<init>(JedisSlotBasedConnectionHandler.java:16)at redis.clients.jedis.BinaryJedisCluster.<init>(BinaryJedisCluster.java:39)at redis.clients.jedis.JedisCluster.<init>(JedisCluster.java:45)at redis.clients.jedis.JedisCluster.<init>(JedisCluster.java:32)at com.hc360.redis.util.RedisConnection.createCluster(RedisConnection.java:65)at com.hc360.redis.RedisClusterClient.<clinit>(RedisClusterClient.java:26)at java.lang.J9VMInternals.initializeImpl(Native Method)at java.lang.J9VMInternals.initialize(J9VMInternals.java:233)at com.hc360.my.modules.screens.corcenter.company.morelogin.doBuildTemplate(morelogin.java:104)at com.hc360.my.common.secure.MyLogSecureScreen.doBuildTemplate(MyLogSecureScreen.java:64)at org.apache.turbine.modules.screens.TemplateScreen.doBuild(TemplateScreen.java:100)at org.apache.turbine.modules.Screen.build(Screen.java:57)at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:107)at org.apache.turbine.modules.layouts.VelocityOnlyLayout.doBuild(VelocityOnlyLayout.java:93)at org.apache.turbine.modules.Layout.build(Layout.java:53)at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:101)at org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:146)at org.apache.turbine.modules.Page.build(Page.java:53)at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:101)at org.apache.turbine.Turbine.doGet(Turbine.java:799)at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)at com.hc360.waf.filter.WafFilter.doFilter(WafFilter.java:87)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)at com.hc360.security.authz.SecurityFilter.doFilter(SecurityFilter.java:161)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)at com.hc360.my.common.filter.ScriptFilter.doFilter(ScriptFilter.java:58)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)at com.hc360.my.common.filter.InjectRefuseFilter.doFilter(InjectRefuseFilter.java:58)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)at com.hc360.mmt.j2ee.conf.PersistenceSessionFilter.doFilter(PersistenceSessionFilter.java:73)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)at com.hc360.sso.client.SSOFilter.doFilter(SSOFilter.java:674)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)at com.hc360.my.common.filter.CharSetFilter.doFilter(CharSetFilter.java:42)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926)at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023)at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3703)at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)


工程部署在websphere中,很明显类加载冲突:

Horrible Exception: java.lang.LinkageError: loading constraint violation: loader "com/ibm/ws/classloader/CompoundClassLoader@6a36fae" previously initiated loading for a different type with name "javax/management/MBeanServer" defined by loader "com/ibm/oti/vm/BootstrapClassLoader@7853887"


在工程中搜索javax/management/MBeanServer,发现在jdk的rt.jar包中和jboss-jmx.jar中出现了相同的类;


想不明白为什么jboss-jmx.jar中会出现跟jdk同样的类,但都在使用,也不能添加一个功能而牺牲别的功能;

有一个疑问,以前工程中就存在这个包了,为什么没有报错呢?而现在咋就报了呢?


猜测以前没有使用到该类!


那无疑jedis中使用到了该类javax/management/MBeanServer,显然这个类是jmx的,在使用redis中,我也不需要这个功能,是否可以去掉呢?

查看源码发现,JedisCluster创建实例时,可以传递配置信息,配置信息中可以设置是否使用jmx,只要设为false即可:

GenericObjectPoolConfig copc = new GenericObjectPoolConfig();copc.setJmxEnabled(false);jedisCluster = new JedisCluster(clusterNodes,3000,1000,copc);


自动驾驶---Planning模块详细介绍(以Apollo为例) 主要介绍高速场景下Planning模块,至于低速的泊车场景对比高速场景或者城区场景有比较大的差距(后面也会介绍泊车场景),本篇Planning介绍主要包括三大子模块Routing,Behavioural Planning以及Motion Planining,并且对比较重要的Decider和Optimizer都做了通俗化的说明供大家思考,以便于后续理解更深入的内容,后面有时间会再开一些篇幅对这些模块进行更加深入的讲解。 阅读详情

相关推荐

三维荧光光谱(EEM)散射干扰实战:从识别到精准切除的完整流程

本文详细解析三维荧光光谱(EEM)中散射干扰的识别与精准切除流程,涵盖瑞利散射和拉曼散射的实战处理技巧。通过drEEM工具箱的应用示例和高级场景解决方案,帮助研究者有效消除散射干扰,提升数据准确性,特别适用于环境样品和生物活体样本分析。

weixin_42554042的博客 327

PowerMockito单元测试(2)-返回void的方法测试覆盖

   2. 返回void的测试覆盖  【要测试的方法】: @Component public class UserDao{ @Autowired private UserMapper userMapper @Autowired private SystemErrorRecoder systemErrorRecoder public void putUser(UserDTO userDto){ try{ userMapper.putUser(userDto); }catch(Dat

假人一个的博客 1万+

Vivado 18.3安装全攻略:从下载到配置的完整指南

本文详细介绍了Vivado 18.3的安装全流程,从下载准备到配置优化,特别适合FPGA开发者。文章包含硬件要求、版本选择、组件配置等实用技巧,帮助用户避免常见安装问题,确保稳定运行。重点解析了License配置和系统优化设置,提升开发效率。

weixin_28331555的博客 565

mockito、easymock、powermock使用(4)-Controller层测试

目的 编写controller层测试代码,模拟代码的执行结果 准备工作 mockito、easymock、powermock使用(2)-准备工作 测试代码 import com.suning.work.controller.MockController; import com.suning.work.model.MockBean; import com.suning.work.serv...

chy2z的专栏 1506

企业网络架构设计:从内网到外网的无缝通信方案

本文详细解析了企业网络架构设计中的关键技术与实践方案,重点介绍了VLAN划分、OSPF路由优化、安全策略及无线网络集成等核心内容。通过OSPF多区域部署和链路聚合技术,实现内网到外网的无缝通信,提升企业网络性能与安全性。文章还提供了具体的配置示例和最佳实践,助力企业构建高效可靠的网络架构。

weixin_28331555的博客 623

From Manual to Magic: How nnU-Net is Revolutionizing Biomedical Image Segmentation Without Human Int

本文探讨了nnU-Net如何通过全自动深度学习技术革新生物医学图像分割领域。作为自我配置的智能系统,nnU-Net无需人工干预即可完成从数据预处理到模型训练的全流程,显著提升医学影像分割的效率和精度,尤其在CT和MRI影像分析中表现卓越。

metal的博客 1082

previously initiated loading for a different type with name "javax/servlet/ServletContext"

1、问题主要servlet-api 有重复导致的;2、解决 找到maven的依赖,找到servlet-api依赖,添加provided <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <versio

就当我是那云朵 4204

高数 | 【极限与等价无穷小】两个重要极限 & 经典错误 & 什么情况下求极限可以直接带入

一. 第一个重要极限 二. 第二个重要极限 三. 导数定义式 全文见【高等数学】两个重要的极限 - 知乎

"You are worthy! You can do it!" 6万+

mock 使用小结

mock使用

qq_49879334的博客 3410

手把手教你学Simulink——基于AI融合与智能调度的场实例:强化学习在卫星资源分配中的应用

本文详细介绍了如何利用Simulink和强化学习技术实现智能卫星资源分配。文章首先分析了低轨卫星通信系统面临的动态资源调度挑战,提出采用强化学习(特别是PPO算法)的解决方案。接着逐步展示了完整的建模过程:从Simulink项目创建、卫星通信环境建模(用户业务、信道特性、资源池),到强化学习任务定义(状态空间、动作空间、奖励函数),再到PPO智能体的构建与训练。最后通过仿真验证,PPO智能体在系统吞吐量、公平性和阻塞率等关键指标上均优于传统方法。该方案为卫星通信系统的智能资源管理提供了可行方案,并支持进一步

MHD0815的博客 190

使用Python爬取在线图书馆的图书馆藏和阅读记录

通过使用Python编写爬虫程序,我们可以从在线图书馆上获取图书馆藏和阅读记录,帮助人们更好地管理和利用图书馆资源。本文简要介绍了爬虫程序的准备工作、网页解析和数据提取、数据的保存和处理的关键步骤,并提供了一个示例代码。在实际应用中,我们需要注意遵守在线图书馆的使用规则和爬虫道德准则,确保合法、合规地进行爬取操作。以上仅为概述,实际应用的过程中可能需要根据具体需求进行适当的调整和改进。

2201_76125393的博客 729

【bug】previously initiated loading for a different type with name "javax/servlet/ServletContext"(142)

<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0</version> <scope>provided</scope> </dependency>要找

qfzhangwei的专栏 5568

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

loader constraint violation Java的类加载过程中出现了加载器约束冲突

java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"

2301_76670053的博客 1960

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

mockito、easymock、powermock使用(3)-dao层测试

目的 编写dao层测试代码,模拟JdbcTemplate的执行结果 准备工作 mockito、easymock、powermock使用(2)-准备工作 测试代码 import com.suning.work.dao.MockDao; import com.suning.work.model.MockBean; import junit.framework.TestCase; impor...

chy2z的专栏 2885

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Flink出现Caused by: java.lang.LinkageError: loader constraint violation错误

Flink出现Caused by: java.lang.LinkageError: loader constraint violation错误 原因: 类加载顺序问题,可以再flink-conf.yaml中加入 classloader.resolve-order: parent-first Flink的默认加载是child-first, 这也是jdk的默认加载顺序。 ...

Bugs那些事儿 3690

previously initiated loading for a different type with name "javax/servlet/h

idea mvn运行出现previously initiated loading for a different type with name "javax/servlet/h 把jdk改为1.7就行

qq_37194624的博客 2700

maven报错: previously initiated loading for a different type with name "servlet/http/HttpServletReq

maven 项目用maven的tomcat插件启动失败 HTTP Status 500 - java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a differ...

失意渔翁 6270

Maven项目中使用插件Tomcat7遇到加载servlet-api包重复造成的冲突

今天我在认真的敲着代码,身边的小伙伴,叫我帮忙解决个BUG;哇塞,当时我的心情是激动且充满热情的,因为每遇到一个BUG,解决的过程都是令人进步的一个过程,积累M多BUG,不断成长,也就是所谓的量变形成质变。

weixin_39089334的博客 9781

PowerMockito单元测试(4)-异常覆盖的方式

4. 异常覆盖的方式:  4-1. 触发异常方法的对象可以mock,在调用的时候触发异常,那么可以使用doThrow来操作 //a.对异常打桩 DataAccessException exception = PowerMockito.mock(DataAccessException.class); //b.模拟try内的方法,doThrow异常 PowerMockito.doThrow(exception).when(userMappers).getUsers(“test”) //c.模拟catch内的方

假人一个的博客 9427

webservice接口在weblgic服务器上无法调用

找到当前项目中包含QName的jar包,将class删除,javax.xml.namespace.QName.class删除。 ctrl+Shift+T搜一下,可以看到一些含有javax.xml.namespace.QName.class的jar包,将该class删除即可,如jaxrpc.jar中就有。   当启动程序的时候,运行到调用webservice接口的时候,就出现问题了,具体错误是:...

第六空间 574

【一问一答】Java 类加载对性能的影响

在这篇文章中,让我们更多地了解这个 API 及其对性能的影响。

u013643074的博客 766

Java报错的解决办法

一 .java运行”错误:找不到或无法加载主类 原因: java.lang.ClassNotFoundException 的方法 解决办法:1.删除module-info.java 文件 2.很多人说在系统变量中添加classpath,.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 经过我本次实践,毫无用处。可能所遇到的错误是不一样的。 ...

Hardy12345678的博客 1906

WAS 6.1 的类加载

abstract:本文截取IBM 红皮书《WebSphere Application Server V6.1:系统管理与配置》的第 12 章节内容,详细阐述了类加载器的基本概念和使用,以及如何客户化类加载器,通过例子阐述了影响类加载的选项的使用。  keywords:WebSphere Application Server ,类加载器   常常有客户询问我,WAS 中的类加载策略怎

tyyurree的专栏 2142

理解WAS 6.1 的类加载(3)

12.3.1 类加载策略 对于系统中的每个应用程序服务器,类加载策略可以设置成 Single 或者Multiple。当应用程序类加载策略设置成 Single,单一的应用程序类加载器可以加载应用程序服务器(JVM)中的所有 EJ...

cuanfangxiang3803的博客 497

什么是MBeanServer

什么是MBeanServer MBeanServer是一个包含所有注册MBean的仓库.它是JMX代理层的核心.JMX1.0规范提供一个接口叫 javax.management.MBeanServer. 所有管理的在MBean操作通过MBeanServer执行.使用MBeanServer实例,你能够管理所有MBean.每一个MBean具有一个唯一标志,叫ObjectName.   什么是Ob...

weixin_34406086的博客 857

Springboot启动报错’javax.management.MBeanServer’ that could not be found.

顺便一说,'javax.management.MBeanServer‘这个类是默认生效,必须手动声明使其失效,如果是单体springboot项目在分布式项目里有这个问题的话,方法1大概率会失效,

oak_javaLearner的博客 595
上一篇: hadoop 异常 Inconsistent checkpoint fields
下一篇: Java反射与内省
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值