Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

可优化代码 & 功能 相关建议 #191

Open
yanhom1314 opened this issue Mar 28, 2023 · 9 comments
Open

可优化代码 & 功能 相关建议 #191

yanhom1314 opened this issue Mar 28, 2023 · 9 comments
Assignees
Labels

Comments

@yanhom1314
Copy link
Collaborator

yanhom1314 commented Mar 28, 2023

首先感谢您使用 DynamicTp,如果对项目有好的想法建议,请按照下述模板提议讨论,建议使用 Markdown 语法

觉得代码、功能实现、模块划分等方面有需要优化的,可以在此讨论

@civimach
Copy link

civimach commented Apr 27, 2023

dynamic-tp版本:1.1.2
代码位置:com.dtp.starter.adapter.rabbitmq.autoconfigure.RabbitMqTpAutoConfiguration
支持第三方rabbitmq连接工厂中的线程池时,以spring.rabbitmq.host这项配置为条件进行适配,其实还可以配置spring.rabbitmq.addresses。host配置单台服务器,addresses可配置多台服务器,二者可选其一。

@yanhom1314
Copy link
Collaborator Author

dynamic-tp版本:1.1.2 代码位置:com.dtp.starter.adapter.rabbitmq.autoconfigure.RabbitMqTpAutoConfiguration 支持第三方rabbitmq连接工厂中的线程池时,以spring.rabbitmq.host这项配置为条件进行适配,其实还可以配置spring.rabbitmq.addresses。host配置单台服务器,addresses可配置多台服务器,二者可选其一。

可以直接提个pr优化下,难度不大,下个版本发布会加上

@yanhom1314
Copy link
Collaborator Author

dynamic-tp版本:1.1.4 代码位置:org.dromara.dynamictp.core.support.ExecutorWrapper 这里已经使用@DaTa注解 getThreadPoolStatProvider感觉可以删掉 idea也给出了提示

可以优化下提个pr

@shyGuide
Copy link

Dynamic-tp版本:1.1.4 代码位置:org.dromara.dynamictp.core.support.ExecutorWrapper 这里已经使用@DaTa注解 getThreadPoolStatProvider 感觉可以删除想法也给出提示

可以优化下提个pr

可以将这个pr指派给我吗

@trevzhang
Copy link
Contributor

DtpMonitor.java:60

@OverRide
protected void onContextRefreshedEvent(ContextRefreshedEvent event) {
MONITOR_EXECUTOR.scheduleWithFixedDelay(this::run,
0, dtpProperties.getMonitorInterval(), TimeUnit.SECONDS);
}

每次刷新会重复创建监视调度任务,导致重复调度

@KamToHung
Copy link
Collaborator

DtpMonitor.java:60

@OverRide protected void onContextRefreshedEvent(ContextRefreshedEvent event) { MONITOR_EXECUTOR.scheduleWithFixedDelay(this::run, 0, dtpProperties.getMonitorInterval(), TimeUnit.SECONDS); }

每次刷新会重复创建监视调度任务,导致重复调度

有无兴趣提个pr,判断时间间隔是否变更然后做rescheduleTask处理

@yanhom1314
Copy link
Collaborator Author

DtpMonitor.java:60

@OverRide protected void onContextRefreshedEvent(ContextRefreshedEvent event) { MONITOR_EXECUTOR.scheduleWithFixedDelay(this::run, 0, dtpProperties.getMonitorInterval(), TimeUnit.SECONDS); }

每次刷新会重复创建监视调度任务,导致重复调度

这个怎么复现呢,继承OnceApplicationContextEventListener了,按理说不会有重复刷新的问题

@KamToHung
Copy link
Collaborator

DtpMonitor.java:60
@OverRide protected void onContextRefreshedEvent(ContextRefreshedEvent event) { MONITOR_EXECUTOR.scheduleWithFixedDelay(this::run, 0, dtpProperties.getMonitorInterval(), TimeUnit.SECONDS); }
每次刷新会重复创建监视调度任务,导致重复调度

这个怎么复现呢,继承OnceApplicationContextEventListener了,按理说不会有重复刷新的问题

如果自己再publishEvent ContextRefreshedEvent会触发

@yanhom1314
Copy link
Collaborator Author

DtpMonitor.java:60
@OverRide protected void onContextRefreshedEvent(ContextRefreshedEvent event) { MONITOR_EXECUTOR.scheduleWithFixedDelay(this::run, 0, dtpProperties.getMonitorInterval(), TimeUnit.SECONDS); }
每次刷新会重复创建监视调度任务,导致重复调度

这个怎么复现呢,继承OnceApplicationContextEventListener了,按理说不会有重复刷新的问题

如果自己再publishEvent ContextRefreshedEvent会触发

嗯,如果用主 ApplicationContext 发布是会有这个情况

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants