@ -3,7 +3,7 @@
< div class = "filter-container" >
< el -select
v - model = "listQuery.tenantId"
placeholder = "租户(必填) "
: placeholder = "$t('tenantManage.tenantRequired') "
style = "width: 220px"
filterable
class = "filter-item"
@ -18,7 +18,7 @@
< / e l - s e l e c t >
< el -select
v - model = "listQuery.itemId"
placeholder = "项目 (必填) "
: placeholder = "$t('projectManage.itemRequired') "
style = "width: 220px"
filterable
class = "filter-item"
@ -33,7 +33,7 @@
< / e l - s e l e c t >
< el -select
v - model = "listQuery.tpId"
placeholder = "线程池 (必填) "
: placeholder = "$t('threadPool.threadPoolRequired') "
style = "width: 220px"
filterable
class = "filter-item"
@ -54,7 +54,7 @@
icon = "el-icon-search"
@ click = "fetchData"
>
搜索
{ { $t ( 'common.query' ) } }
< / e l - b u t t o n >
< el -button
v - waves
@ -64,7 +64,7 @@
icon = "el-icon-refresh"
@ click = "refreshData"
>
重置
{ { $t ( 'common.reset' ) } }
< / e l - b u t t o n >
< / div >
@ -73,51 +73,52 @@
border
: data = "list"
element - loading - text = "Loading"
fit
: fit = "true"
max - height = "714"
highlight - current - row
header - row - name = "headerRowName"
>
< el -table -column label = "序号" fixed width = "95" >
< el -table -column :label ="$t('common.num')" fixed = "left" width = "95" >
< template slot -scope = " scope " > { { scope . $index + 1 } } < / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "实例标识 " width = "260" >
< el -table -column :label ="$t('threadPoolInstance.instanceID') " width = "260" >
< template slot -scope = " scope " >
< el -link type = "primary" :underline ="false" > { { scope . row . identify } } < / e l - l i n k >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "Active " width = "120" >
< el -table -column :label ="$t('threadPoolInstance.active') " width = "120" >
< template slot -scope = " scope " >
< el -tag : type = "scope.row.active | statusFilter" >
{ { scope . row . active } }
< / e l - t a g >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "核心线程 " width = "100" >
< el -table -column :label ="$t('threadPool.coreSize') " width = "100" >
< template slot -scope = " scope " >
< el -link type = "success" :underline ="false" > { { scope . row . coreSize } } < / e l - l i n k >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "最大线程" width = "100 ">
< el -table -column :label ="$t('threadPool.maximumSize')" : width = "$langMatch({ zh: '100', en: '150' }, 'auto') ">
< template slot -scope = " scope " >
< el -link type = "danger" :underline ="false" > { { scope . row . maxSize } } < / e l - l i n k >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "队列类型 " width = "260" >
< el -table -column :label ="$t('threadPool.queueType') " width = "260" >
< template slot -scope = " scope " > { { scope . row . queueType | queueFilter } } < / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "队列容量" width = "100 ">
< el -table -column :label ="$t('threadPool.queueCapacity')" : width = "$langMatch({ zh: '100', en: '160' }, 'auto') ">
< template slot -scope = " scope " > { { scope . row . capacity } } < / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "拒绝策略 " width = "260" >
< el -table -column :label ="$t('threadPool.rejectedHandler') " width = "260" >
< template slot -scope = " scope " > { { scope . row . rejectedType | rejectedFilter } } < / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "执行超时" width = "100 ">
< el -table -column :label ="$t('threadPool.executionTimeout')" : width = "$langMatch({ zh: '100', en: '160' }, 'auto') ">
< template slot -scope = " scope " >
{ { scope . row . executeTimeOut } }
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "空闲回收" width = "100 ">
< el -table -column :label ="$t('threadPool.keepAliveTime')" : width = "$langMatch({ zh: '100', en: '160' }, 'auto') ">
< template slot -scope = " scope " >
{ { scope . row . keepAliveTime } }
< / template >
@ -129,7 +130,7 @@
< / template >
< / e l - t a b l e - c o l u m n > - - >
< el -table -column
label = "操作 "
: label = "$t('common.operation') "
fixed = "right"
width = "120"
align = "center"
@ -148,9 +149,9 @@
< / e l - d r o p d o w n >
< / template > -- >
< template slot -scope = " { row } " >
< el -button type = "text" size = "small" @click ="handleInfo(row)" > 查 看 < / el -button >
< el -button type = "text" size = "small" @click ="handleShowStack(row)" > 堆 栈 < / el -button >
< el -button type = "text" size = "small" @click ="handleUpdate(row)" > 编 辑 < / el -button >
< el -button type = "text" size = "small" @click ="handleInfo(row)" > {{ $ t ( ' common.detail ' ) }} < / el -button >
< el -button type = "text" size = "small" @click ="handleShowStack(row)" > {{ $ t ( ' common.stack ' ) }} < / el -button >
< el -button type = "text" size = "small" @click ="handleUpdate(row)" > {{ $ t ( ' common.edit ' ) }} < / el -button >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
@ -168,111 +169,111 @@
width = "1000px"
>
< template >
< el -descriptions class = "margin-top" title = "基础信息 " :column ="3" :size ="size" border >
< el -descriptions class = "margin-top" :title ="$t('threadPoolInstance.basicInformation') " :column ="3" :size ="size" border >
< el -descriptions -item >
< template slot = "label" > 线程池 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.threadPoolID' ) } } < / template >
{ { runTimeTemp . tpId } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 环境标识 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.activeID' ) } } < / template >
< el -tag : type = "runTimeTemp.active | statusFilter" >
{ { runTimeTemp . active } }
< / e l - t a g >
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 运行状态 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.runningState' ) } } < / template >
< el -tag > { { runTimeTemp . state } } < / e l - t a g >
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 实例Host < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.instanceHost' ) } } < / template >
{ { runTimeTemp . host } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 实例标识 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.instanceID' ) } } < / template >
{ { runTimeTemp . identify } }
< / e l - d e s c r i p t i o n s - i t e m >
< / e l - d e s c r i p t i o n s >
< br / >
< br / >
< el -descriptions class = "margin-top" title = "负载信息 " :column ="3" :size ="size" border >
< el -descriptions class = "margin-top" :title ="$t('threadPoolInstance.LoadInformation') " :column ="3" :size ="size" border >
< el -descriptions -item >
< template slot = "label" > 当前负载 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.CurrentLoad' ) } } < / template >
{ { runTimeTemp . currentLoad } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 峰值负载 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.PeakLoad' ) } } < / template >
{ { runTimeTemp . peakLoad } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 剩余内存 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.RemainingMemory' ) } } < / template >
{ { runTimeTemp . freeMemory } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 内存占比 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.MemoryRatio' ) } } < / template >
{ { runTimeTemp . memoryProportion } }
< / e l - d e s c r i p t i o n s - i t e m >
< / e l - d e s c r i p t i o n s >
< br / >
< br / >
< el -descriptions class = "margin-top" title = "线程信息 " :column ="3" :size ="size" border >
< el -descriptions class = "margin-top" :title ="$t('threadPoolInstance.threadInformation') " :column ="3" :size ="size" border >
< el -descriptions -item >
< template slot = "label" > 核心线程 < / template >
< template slot = "label" > { { $t ( 'threadPool.coreSize' ) } } < / template >
{ { runTimeTemp . coreSize } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 当前线程 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.currentSize' ) } } < / template >
{ { runTimeTemp . poolSize } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 最大线程 < / template >
< template slot = "label" > { { $t ( 'threadPool.maximumSize' ) } } < / template >
{ { runTimeTemp . maximumSize } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 活跃线程 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.activeSize' ) } } < / template >
{ { runTimeTemp . activeSize } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 同存最大线程 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.largestSize' ) } } < / template >
{ { runTimeTemp . largestPoolSize } }
< / e l - d e s c r i p t i o n s - i t e m >
< / e l - d e s c r i p t i o n s >
< br / >
< br / >
< el -descriptions class = "margin-top" title = "队列信息 " :column ="3" :size ="size" border >
< el -descriptions class = "margin-top" :title ="$t('threadPoolInstance.queueInformation') " :column ="3" :size ="size" border >
< el -descriptions -item >
< template slot = "label" > 队列容量 < / template >
< template slot = "label" > { { $t ( 'threadPool.queueCapacity' ) } } < / template >
{ { runTimeTemp . queueCapacity } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 队列元素 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.queueCount' ) } } < / template >
{ { runTimeTemp . queueSize } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 队列剩余容量 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.queueRemainingCapacity' ) } } < / template >
{ { runTimeTemp . queueRemainingCapacity } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 阻塞队列 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.queueType' ) } } < / template >
{ { runTimeTemp . queueType } }
< / e l - d e s c r i p t i o n s - i t e m >
< / e l - d e s c r i p t i o n s >
< br / >
< br / >
< el -descriptions class = "margin-top" title = "其它信息 " :column ="3" :size ="size" border >
< el -descriptions class = "margin-top" :title ="$t('threadPoolInstance.otherInformation') " :column ="3" :size ="size" border >
< el -descriptions -item >
< template slot = "label" > 任务总量 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.totalTask' ) } } < / template >
{ { runTimeTemp . completedTaskCount } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 拒绝次数 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.totalRejection' ) } } < / template >
< el -link type = "danger" :underline ="false" > { { runTimeTemp . rejectCount } } < / e l - l i n k >
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 最后更新时间 < / template >
< template slot = "label" > { { $t ( 'threadPoolInstance.lastUpdateTime' ) } } < / template >
{ { runTimeTemp . clientLastRefreshTime } }
< / e l - d e s c r i p t i o n s - i t e m >
< el -descriptions -item >
< template slot = "label" > 拒绝策略 < / template >
< template slot = "label" > { { $t ( 'threadPool.rejectedHandler' ) } } < / template >
{ { runTimeTemp . rejectedName } }
< / e l - d e s c r i p t i o n s - i t e m >
< / e l - d e s c r i p t i o n s >
@ -280,11 +281,11 @@
< div slot = "footer" class = "dialog-footer" >
< el -button @ click = "instanceDialogFormVisible = false" >
< i class = "el-icon-close" / >
关 闭
{ { $t ( 'common.close' ) } }
< / e l - b u t t o n >
< el -button type = "primary" @click ="handleInfo()" >
< i class = "el-icon-refresh-right" / >
刷 新
{ { $t ( 'common.refresh' ) } }
< / e l - b u t t o n >
< / div >
< / e l - d i a l o g >
@ -295,31 +296,31 @@
style = "width: 500px; margin-left: 50px"
: rules = "rules"
: model = "temp"
label - width = " 80px"
: label - width = " $langMatch({ zh: ' 80px', en: '150px' }) "
>
< el -form -item label = "核心线程 " prop = "coreSize" >
< el -form -item :label ="$t('threadPool.coreSize') " prop = "coreSize" >
< el -input -number
v - model = "temp.coreSize"
placeholder = "核心线程 "
: placeholder = "$t('threadPool.coreSize') "
controls - position = "right"
: min = "1"
: max = "9999"
> < / e l - i n p u t - n u m b e r >
< / e l - f o r m - i t e m >
< el -form -item label = "最大线程 " prop = "maxSize" >
< el -form -item :label ="$t('threadPool.maximumSize') " prop = "maxSize" >
< el -input -number
v - model = "temp.maxSize"
placeholder = "最大线程 "
: placeholder = "$t('threadPool.maximumSize') "
controls - position = "right"
: min = "1"
: max = "9999"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "队列类型 " prop = "queueType" >
< el -form -item :label ="$t('threadPool.queueType') " prop = "queueType" >
< el -select
v - model = "temp.queueType"
placeholder = "队列类型 "
: placeholder = "$t('threadPool.queueType') "
: disabled = "true"
style = "display: block"
@ change = "selectQueueType"
@ -332,49 +333,49 @@
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "队列容量 " prop = "capacity" >
< el -form -item :label ="$t('threadPool.queueCapacity') " prop = "capacity" >
< el -input -number
v - model = "temp.capacity"
placeholder = "队列容量 "
: placeholder = "$t('threadPool.queueCapacity') "
controls - position = "right"
: min = "0"
: max = "2147483647"
: disabled = "temp.queueType === 9 ? false : true"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "线程超时 " prop = "isAlarm" >
< el -form -item :label ="$t('threadPoolInstance.allowCoreThreadTimeOut') " prop = "isAlarm" >
< template >
< div >
< el -radio -group v-model ="temp.allowCoreThreadTimeOut" >
< el -radio -button :label ="1" > 超时 < / e l - r a d i o - b u t t o n >
< el -radio -button :label ="0" > 不超时 < / e l - r a d i o - b u t t o n >
< el -radio -button :label ="1" > { { $t ( 'threadPool.timeout' ) } } < / e l - r a d i o - b u t t o n >
< el -radio -button :label ="0" > { { $t ( 'threadPool.noTimeout' ) } } < / e l - r a d i o - b u t t o n >
< / e l - r a d i o - g r o u p >
< / div >
< / template >
< / e l - f o r m - i t e m >
< el -form -item label = "执行超时 " prop = "executeTimeOut" >
< el -form -item :label ="$t('threadPool.executionTimeout') " prop = "executeTimeOut" >
< el -input -number
v - model = "temp.executeTimeOut"
placeholder = "执行超时(毫秒) "
: placeholder = "$t('threadPool.executionTimeoutUnit') "
controls - position = "right"
: min = "0"
: max = "999999"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "空闲回收 " prop = "keepAliveTime" >
< el -form -item :label ="$t('threadPool.keepAliveTime') " prop = "keepAliveTime" >
< el -input -number
v - model = "temp.keepAliveTime"
placeholder = "空闲回收(秒) "
: placeholder = "$t('threadPool.keepAliveTimeUnit') "
controls - position = "right"
: min = "1"
: max = "999999"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "拒绝策略 " prop = "rejectedType" >
< el -form -item :label ="$t('threadPool.rejectedHandler') " prop = "rejectedType" >
< el -select
v - model = "temp.rejectedType"
style = "display: block"
placeholder = "拒绝策略 "
: placeholder = "$t('threadPool.rejectedHandler') "
@ change = "selectRejectedType"
>
< el -option
@ -385,21 +386,21 @@
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item v-if ="isRejectShow" label="自定义拒绝策略 " prop="customRejectedType">
< el -form -item v-if ="isRejectShow" :label="$t('threadPool.customRejectedHandler') " prop="customRejectedType">
< el -input
v - model = "temp.customRejectedType"
placeholder = "请输入自定义 SPI 拒绝策略标识 "
: placeholder = "$t('threadPool.customRejectedHandlerTip') "
@ input = "onInput()"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "全部修改 " prop = "allUpdate" >
< el -form -item :label ="$t('threadPoolInstance.changeAll') " prop = "allUpdate" >
< el -switch v-model ="allUpdate" > < / el -switch >
< / e l - f o r m - i t e m >
< / e l - f o r m >
< div slot = "footer" class = "dialog-footer" >
< el -button @ click = "dialogFormVisible = false" > 取消 < / e l - b u t t o n >
< el -button @ click = "dialogFormVisible = false" > { { $t ( 'common.cancel' ) } } < / e l - b u t t o n >
< el -button type = "primary" @ click = "dialogStatus === 'create' ? createData() : updateData()" >
确认
{ { $t ( 'common.confirm' ) } }
< / e l - b u t t o n >
< / div >
< / e l - d i a l o g >
@ -409,7 +410,7 @@
< el -table -column prop = "pv" label = "Pv" / >
< / e l - t a b l e >
< span slot = "footer" class = "dialog-footer" >
< el -button type = "primary" @ click = "dialogPvVisible = false" > Confirm < / e l - b u t t o n >
< el -button type = "primary" @ click = "dialogPvVisible = false" > { { $t ( 'common.confirm' ) } } < / e l - b u t t o n >
< / span >
< / e l - d i a l o g >
< el -dialog title = "Stack Info" :visible.sync ="isStackShow" width = "60%" >
@ -425,10 +426,10 @@
< / li >
< / ul >
< span slot = "footer" class = "dialog-footer" >
< el -button @ click = "isStackShow = false" > < i class = "el-icon-close" / > 关 闭 < / e l - b u t t o n >
< el -button @ click = "isStackShow = false" > < i class = "el-icon-close" / > { { $t ( 'common.close' ) } } < / e l - b u t t o n >
< el -button type = "primary" @click ="handleStackInfo" >
< i class = "el-icon-refresh-right" / >
刷 新
{ { $t ( 'common.refresh' ) } }
< / e l - b u t t o n >
< / span >
< / e l - d i a l o g >
@ -564,9 +565,9 @@ export default {
} ,
dialogStatus : '' ,
textMap : {
update : 'Edit' ,
create : 'Create' ,
info : 'Info' ,
update : this . $t ( 'common.edit' ) ,
create : this . $t ( 'common.create' ) ,
info : this . $t ( 'common.info' ) ,
} ,
allUpdate : false ,
temp : {
@ -592,15 +593,15 @@ export default {
} ,
fetchData ( ) {
if ( ! this . listQuery . tenantId ) {
this . $message . warning ( '租户不允许为空' ) ;
this . $message . warning ( this . $t ( 'message.emptyWarning' , { name : this . $t ( 'tenantManage.tenant' ) } ) ) ;
return ;
}
if ( ! this . listQuery . itemId ) {
this . $message . warning ( '项目不允许为空' ) ;
this . $message . warning ( this . $t ( 'message.emptyWarning' , { name : this . $t ( 'projectManage.item' ) } ) ) ;
return ;
}
if ( ! this . listQuery . tpId ) {
this . $message . warning ( '线程池不允许为空' ) ;
this . $message . warning ( this . $t ( 'message.emptyWarning' , { name : this . $t ( 'threadPool.threadPool' ) } ) ) ;
return ;
}
this . listLoading = true ;
@ -658,8 +659,8 @@ export default {
this . fetchData ( ) ;
this . dialogFormVisible = false ;
this . $notify ( {
title : 'Success' ,
message : 'Created Successfully' ,
title : this . $t ( 'message.success' ) ,
message : this . $t ( 'message.createdSuccess' ) ,
type : 'success' ,
duration : 2000 ,
} ) ;
@ -728,7 +729,7 @@ export default {
} )
. catch ( ( error ) => {
console . log ( error ) ;
this . $message . error ( '查询失败,请尝试刷新页面' ) ;
this . $message . error ( this . $t ( 'message.queryFailure' ) ) ;
} ) ;
} ,
handleShowStack ( row ) {
@ -748,12 +749,12 @@ export default {
this . stackInfo = data ;
this . isStackShow = true ;
} else {
this . $message . warning ( '当前线程池暂无堆栈信息' ) ;
this . $message . warning ( this . $t ( 'threadPoolInstance.stackRequestFail' ) ) ;
}
} )
. catch ( ( error ) => {
console . log ( error ) ;
this . $message . error ( '查询失败,请尝试刷新页面' ) ;
this . $message . error ( this . $t ( 'message.queryFailure' ) ) ;
} ) ;
} ,
/ / 修 改 操 作
@ -762,7 +763,7 @@ export default {
if ( valid ) {
if ( parseInt ( this . temp . maxSize ) < parseInt ( this . temp . coreSize ) ) {
this . $message ( {
message : '最大线程必须大于等于核心线程' ,
message : this . $t ( 'threadPool.threadsNumErrorTip' ) ,
type : 'warning' ,
} ) ;
return ;
@ -783,8 +784,8 @@ export default {
. then ( ( ) => {
this . dialogFormVisible = false ;
this . $notify ( {
title : 'Success' ,
message : 'Update Successfully' ,
title : this . $t ( 'message.success' ) ,
message : this . $t ( 'message.updateSuccess' ) ,
type : 'success' ,
duration : 2000 ,
} ) ;
@ -853,6 +854,9 @@ export default {
< / script >
< style lang = "scss" scoped >
. headerRowName {
}
/* 滚动槽 */
: : - webkit - scrollbar {
width : 8 px ;