five111

Results 23 comments of five111

说个简单的方案 当前数据源的加载是由自己初始化完成的 只需要将数据源的加载方式改为可以由外部注入就可以了 对应数据源的具体的实现类还是通过Conditional让spring去加载对应的bean就行了

> > 说个简单的方案 当前数据源的加载是由自己初始化完成的 只需要将数据源的加载方式改为可以由外部注入就可以了 对应数据源的具体的实现类还是通过Conditional让spring去加载对应的bean就行了 > > 感觉没办法解决sql 方言问题 可以解决的 具体一点是这样 以 ExternalStoragePersistServiceImpl为列 他的实现是满足mysql的方言 他的加载条件是ConditionOnExternalStorage.matches为true 我们做这样一个修改 将他的加载条件改为 满足ConditionOnExternalStorage且数据库类型为mysql 这时如果我要使用第三方数据库,比如华为的gauss数据库 那么我自己去实现PersistService接口 并且将我的加载条件改为ConditionOnExternalStorage且数据库类型为gauss 这样方言的事情只需要让使用第三方数据库的人自己去适配就可以了 ps: 我们当前就是这么搞的

> > > > 说个简单的方案 当前数据源的加载是由自己初始化完成的 只需要将数据源的加载方式改为可以由外部注入就可以了 对应数据源的具体的实现类还是通过Conditional让spring去加载对应的bean就行了 > > > > > > > > > 感觉没办法解决sql 方言问题 > > > > > > 可以解决的 具体一点是这样 以 ExternalStoragePersistServiceImpl为列 他的实现是满足mysql的方言...

似乎超过wait参数超过60s就会这样?60s以下看着很正常 ![image](https://user-images.githubusercontent.com/19482564/143981692-2fea5d48-8743-4454-bfd2-446b2ea45b27.png)

@tianxiaoliang @little-cui

This phenomenon still occurs when I use Google Chrome or curl commands. I’m not sure if it’s because I did a 2000-thread stress test on kie before. Now it’s been...

可以稳定重现 复现手段 ------------------------------------------------------- jmeter+微服务A 微服务A发送请求给微服务B,且环境没有微服务B,然后用jmeter发送大量请求给微服务A 请求如下 无特殊之处 ``` @GetMapping("/asyncSayHello/{name}") public String asyncSayHello(@PathVariable("name") String name) { cseAsyncRestTemplate.getForEntity("cse://TOF-provider/provider/tomcat/hello/" + name, String.class); return null; } ``` 通过visualVM观察metaspace如下图 ![image](https://user-images.githubusercontent.com/19482564/149447336-a188338e-53fa-4117-b54e-13e31773d707.png) 虽然能看到gc回收 单如果我将metaspace大小设置较小 很容易oom 比如 我服务启动后metaspace稳定在40m...

建议是在ConfigObjectFactory类做一层缓存 每个微服务无论调用成功失败 都只加载1次

> 你描述的应该是jmeter调用微服务A吧? 写成了 “用jmeter发送大量请求给微服务B"。 另外, 记得历史上有修复过这个问题。 你用的版本是什么? 是调用微服务A 写错了 版本是2.1.5 ConfigObjectFactory类的doCreate这个方法在问题场景下会被反复执行,这个方法又会创建类 导致的问题 2.6.0版本doCreate这个方法被改成了createProperties方法,实现应该没有变化 如果整个调用过程的逻辑顺序没用变化的话 问题应该还是存在的 你说的已经解决的问题是否是这个 https://github.com/apache/servicecomb-java-chassis/pull/2320/files

稍后几天 我可以拿最新社区代码做一次测试 如果复现的话 我会将自己在2.1.5版本做的修改提交至社区