Skip to content

Commit

Permalink
feat(线程设置为守护线程): 将线程设置为守护线程,防止影响应用退出
Browse files Browse the repository at this point in the history
  • Loading branch information
MinXie authored and MinXie committed Apr 26, 2023
1 parent f215e8f commit 24e29e6
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion agent/src/main/kotlin/minxie/space/agent/AgentMain.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package minxie.space.agent


import minxie.space.metrics.vo.MetricsContext
import minxie.space.server.MetricHttpServer
import minxie.space.thread.ThreadPoolAgent
import java.lang.instrument.Instrumentation
Expand All @@ -15,6 +14,7 @@ object AgentMain {
Thread {
MetricHttpServer().start()
}.let {
it.isDaemon = true
it.name = "MetricHttpServer"
it
}.start()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,13 @@ import io.netty.channel.socket.nio.NioServerSocketChannel
import io.netty.handler.codec.http.HttpObjectAggregator
import io.netty.handler.codec.http.HttpRequestDecoder
import io.netty.handler.codec.http.HttpResponseEncoder
import minxie.space.jvm.vo.metrics.*
import minxie.space.metrics.vo.MetricBaseVo
import io.netty.util.concurrent.DefaultThreadFactory
import minxie.space.jvm.vo.metrics.ClassMetricVo
import minxie.space.jvm.vo.metrics.GcMetricVo
import minxie.space.jvm.vo.metrics.JvmInfoMetricVo
import minxie.space.jvm.vo.metrics.MemoryMetricVo
import minxie.space.jvm.vo.metrics.ProcessMetricVo
import minxie.space.jvm.vo.metrics.ThreadMetricVo
import minxie.space.metrics.vo.MetricsContext
import minxie.space.thread.metrics.DubboThreadPoolMetricsVo
import minxie.space.thread.metrics.JdkThreadPoolMetricsVo
Expand All @@ -22,8 +27,8 @@ class MetricHttpServer {
@Throws(Exception::class)
fun start() {
println("MetricHttpServer start on port ${MetricsContext.getMetricsConfig().port} applicationName-${MetricsContext.getMetricsConfig().applicationName}")
val bossGroup: EventLoopGroup = NioEventLoopGroup()
val workerGroup: EventLoopGroup = NioEventLoopGroup()
val bossGroup: EventLoopGroup = NioEventLoopGroup(DefaultThreadFactory("bossGroup", true))
val workerGroup: EventLoopGroup = NioEventLoopGroup(DefaultThreadFactory("workerGroup", true))
try {
val b = ServerBootstrap()
b.group(bossGroup, workerGroup)
Expand Down

0 comments on commit 24e29e6

Please sign in to comment.