Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Jedi(绝地) - a reliable TPM(thread pool management) system

Build StatusMaven CentralLicense

Screenshots

线程池实时状态监控

线程池实时状态监控

动态维护线程池配置

动态配置线程池参数

线程池任务监控

线程池任务监控

线程池任务重试

线程池任务重试

Features

  • 实时监控异步调度(线程池和异步任务),故障预警

  • 动态维护线程池配置,及时规避故障或加速故障恢复

  • 异步调度任务高可靠,支持任务持久化

  • 异步调度任务高可用,支持异步任务自恢复和重试补偿

  • 易扩展,业务系统可自行实现接口自定义功能

  • 易用,低侵入(只需注解,无需编码)

Usage

Design

功能设计

功能设计图

系统架构

系统架构图

Development

  1. 下载最新源码。
  2. 数据库建表 doc/db目录下tables_jedi_config.sql、tables_jedi_collector.sql。
  3. 调整jedi-config、jedi-collector、jedi-admin模块中resources/application-local.yml的数据库配置,分别运行三个后端应用。
  4. 启动前端应用,cd jedi-ui,已安装npm,则执行npm run start。未安装则先执行npm install。访问 http://localhost:8089 登录,用户名/密码: admin/123456。
  5. 启动示例应用jedi-demo。数据库建表,db/init.sql。调整resources/application-local.yml的数据库配置,运行应用。访问http://127.0.0.1:8090/swagger-ui.html 触发请求。

Deployment

平台部署指南

Release Notes

版本功能
0.0.11首个正式版本
0.0.12修复oracle部署bug
0.0.13jedi-consumer重命名为jedi-collector

FAQ

License

Apache 2 license.

Known Users

招商银行招商银行

Stars

你的star是我继续前进的动力

Gitee Stars Stargazers over time

Github Stars Stargazers over time

Thanks

线程池监控思路参考 Java线程池实现原理及其在美团业务中的实践

动态配置部分参考 Apollo Config

感谢 JetBrains 提供的免费开源 License 输入图片说明

About

动态线程池 线程池监控 线程池管理 任务分析

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages