提交 b27d40ac 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码 [ibiz-task,任务调度]

上级 df9f5ddc
...@@ -62,6 +62,7 @@ function getLocaleResourceBase(){ ...@@ -62,6 +62,7 @@ function getLocaleResourceBase(){
main_grid: { main_grid: {
columns: { columns: {
id: commonLogic.appcommonhandle("主键ID",null), id: commonLogic.appcommonhandle("主键ID",null),
remark: commonLogic.appcommonhandle("备注",null),
app: commonLogic.appcommonhandle("服务名",null), app: commonLogic.appcommonhandle("服务名",null),
handler: commonLogic.appcommonhandle("执行器任务HANDLER",null), handler: commonLogic.appcommonhandle("执行器任务HANDLER",null),
cron: commonLogic.appcommonhandle("任务执行CRON",null), cron: commonLogic.appcommonhandle("任务执行CRON",null),
......
...@@ -62,6 +62,7 @@ function getLocaleResourceBase(){ ...@@ -62,6 +62,7 @@ function getLocaleResourceBase(){
main_grid: { main_grid: {
columns: { columns: {
id: commonLogic.appcommonhandle("主键ID",null), id: commonLogic.appcommonhandle("主键ID",null),
remark: commonLogic.appcommonhandle("备注",null),
app: commonLogic.appcommonhandle("服务名",null), app: commonLogic.appcommonhandle("服务名",null),
handler: commonLogic.appcommonhandle("执行器任务HANDLER",null), handler: commonLogic.appcommonhandle("执行器任务HANDLER",null),
cron: commonLogic.appcommonhandle("任务执行CRON",null), cron: commonLogic.appcommonhandle("任务执行CRON",null),
......
...@@ -62,6 +62,7 @@ function getLocaleResourceBase(){ ...@@ -62,6 +62,7 @@ function getLocaleResourceBase(){
main_grid: { main_grid: {
columns: { columns: {
id: commonLogic.appcommonhandle("主键ID",null), id: commonLogic.appcommonhandle("主键ID",null),
remark: commonLogic.appcommonhandle("备注",null),
app: commonLogic.appcommonhandle("服务名",null), app: commonLogic.appcommonhandle("服务名",null),
handler: commonLogic.appcommonhandle("执行器任务HANDLER",null), handler: commonLogic.appcommonhandle("执行器任务HANDLER",null),
cron: commonLogic.appcommonhandle("任务执行CRON",null), cron: commonLogic.appcommonhandle("任务执行CRON",null),
......
...@@ -34,6 +34,18 @@ ...@@ -34,6 +34,18 @@
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
<template v-if="getColumnState('remark')">
<el-table-column show-overflow-tooltip :prop="'remark'" :label="$t('entities.jobsinfo.main_grid.columns.remark')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.jobsinfo.main_grid.columns.remark')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.remark}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('app')"> <template v-if="getColumnState('app')">
<el-table-column show-overflow-tooltip :prop="'app'" :label="$t('entities.jobsinfo.main_grid.columns.app')" :width="200" :align="'left'" :sortable="'custom'"> <el-table-column show-overflow-tooltip :prop="'app'" :label="$t('entities.jobsinfo.main_grid.columns.app')" :width="200" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}"> <template v-slot:header="{column}">
...@@ -698,6 +710,15 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -698,6 +710,15 @@ export default class MainBase extends Vue implements ControlInterface {
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 , enableCond: 3 ,
}, },
{
name: 'remark',
label: '备注',
langtag: 'entities.jobsinfo.main_grid.columns.remark',
show: true,
unit: 'PX',
isEnableRowEdit: false,
enableCond: 3 ,
},
{ {
name: 'app', name: 'app',
label: '服务名', label: '服务名',
...@@ -1474,7 +1495,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1474,7 +1495,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public arraySpanMethod({row, column, rowIndex, columnIndex} : any) { public arraySpanMethod({row, column, rowIndex, columnIndex} : any) {
let allColumns:Array<any> = ['id','app','handler','cron','last_time','next_time','status','timeout','update_time']; let allColumns:Array<any> = ['id','remark','app','handler','cron','last_time','next_time','status','timeout','update_time'];
if(row && row.children) { if(row && row.children) {
if(columnIndex == (this.isSingleSelect ? 0:1)) { if(columnIndex == (this.isSingleSelect ? 0:1)) {
return [1, allColumns.length+1]; return [1, allColumns.length+1];
...@@ -1555,6 +1576,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1555,6 +1576,7 @@ export default class MainBase extends Vue implements ControlInterface {
groupById: Number((i+1)*100), groupById: Number((i+1)*100),
group: group.label, group: group.label,
id:'', id:'',
remark:'',
app:'', app:'',
handler:'', handler:'',
cron:'', cron:'',
...@@ -1590,6 +1612,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1590,6 +1612,7 @@ export default class MainBase extends Vue implements ControlInterface {
groupById: Number((allGroup.length+1)*100), groupById: Number((allGroup.length+1)*100),
group: this.$t('app.gridpage.other'), group: this.$t('app.gridpage.other'),
id:'', id:'',
remark:'',
app:'', app:'',
handler:'', handler:'',
cron:'', cron:'',
...@@ -1645,6 +1668,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1645,6 +1668,7 @@ export default class MainBase extends Vue implements ControlInterface {
groupById: Number((groupIndex+1)*100), groupById: Number((groupIndex+1)*100),
group: group, group: group,
id:'', id:'',
remark:'',
app:'', app:'',
handler:'', handler:'',
cron:'', cron:'',
......
...@@ -26,30 +26,15 @@ export default class MainModel { ...@@ -26,30 +26,15 @@ export default class MainModel {
] ]
}else{ }else{
return [ return [
{
name: 'id',
prop: 'id',
dataType: 'TEXT',
},
{
name: 'cron',
prop: 'cron',
dataType: 'TEXT',
},
{ {
name: 'app', name: 'app',
prop: 'app', prop: 'app',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{ {
name: 'next_time', name: 'remark',
prop: 'next_time', prop: 'remark',
dataType: 'BIGINT', dataType: 'TEXT',
},
{
name: 'update_time',
prop: 'update_time',
dataType: 'DATETIME',
}, },
{ {
name: 'status', name: 'status',
...@@ -66,16 +51,36 @@ export default class MainModel { ...@@ -66,16 +51,36 @@ export default class MainModel {
prop: 'handler', prop: 'handler',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{
name: 'srfkey',
prop: 'id',
dataType: 'TEXT',
isEditable:true
},
{ {
name: 'srfdataaccaction', name: 'srfdataaccaction',
prop: 'id', prop: 'id',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{ {
name: 'srfkey', name: 'id',
prop: 'id', prop: 'id',
dataType: 'TEXT', dataType: 'TEXT',
isEditable:true },
{
name: 'cron',
prop: 'cron',
dataType: 'TEXT',
},
{
name: 'next_time',
prop: 'next_time',
dataType: 'BIGINT',
},
{
name: 'update_time',
prop: 'update_time',
dataType: 'DATETIME',
}, },
{ {
name: 'timeout', name: 'timeout',
......
...@@ -6,11 +6,9 @@ ENV TZ=Asia/Shanghai \ ...@@ -6,11 +6,9 @@ ENV TZ=Asia/Shanghai \
IBIZ_SLEEP=0 \ IBIZ_SLEEP=0 \
JAVA_OPTS="" JAVA_OPTS=""
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibztask-app-web.jar java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /ibztask-app-web.jar
EXPOSE 8080 EXPOSE 8080
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!--输出实体[JOBS_INFO]数据结构 --> <!--输出实体[JOBS_INFO]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-jobs_info-4-1"> <changeSet author="a_A_5d9d78509" id="tab-jobs_info-5-1">
<createTable tableName="JOBS_INFO"> <createTable tableName="JOBS_INFO">
<column name="ID" remarks="" type="VARCHAR(100)"> <column name="ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_JOBS_INFO_ID"/> <constraints primaryKey="true" primaryKeyName="PK_JOBS_INFO_ID"/>
......
...@@ -6,11 +6,9 @@ ENV TZ=Asia/Shanghai \ ...@@ -6,11 +6,9 @@ ENV TZ=Asia/Shanghai \
IBIZ_SLEEP=0 \ IBIZ_SLEEP=0 \
JAVA_OPTS="" JAVA_OPTS=""
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibztask-provider-api.jar java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /ibztask-provider-api.jar
EXPOSE 8081 EXPOSE 8081
......
...@@ -78,12 +78,14 @@ public class DELogicAspect { ...@@ -78,12 +78,14 @@ public class DELogicAspect {
EntityBase entity = null; EntityBase entity = null;
if ("remove".equalsIgnoreCase(action) || "get".equalsIgnoreCase(action)) { if ("remove".equalsIgnoreCase(action) || "get".equalsIgnoreCase(action)) {
entity = getEntity(service.getClass()); entity = getEntity(service.getClass());
String id = DEFieldCacheMap.getDEKeyField(entity.getClass()); if(!ObjectUtils.isEmpty(entity)) {
if(StringUtils.isEmpty(id)) { String id = DEFieldCacheMap.getDEKeyField(entity.getClass());
log.debug("无法获取实体主键属性[{}]",entity.getClass().getSimpleName()); if(StringUtils.isEmpty(id)) {
return point.proceed(); log.debug("无法获取实体主键属性[{}]",entity.getClass().getSimpleName());
return point.proceed();
}
entity.set(id, arg);
} }
entity.set(id, arg);
} else if (arg instanceof EntityBase) { } else if (arg instanceof EntityBase) {
entity = (EntityBase) arg; entity = (EntityBase) arg;
} }
...@@ -187,7 +189,7 @@ public class DELogicAspect { ...@@ -187,7 +189,7 @@ public class DELogicAspect {
KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem).buildAll(); KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem).buildAll();
Results results = kieBuilder.getResults(); Results results = kieBuilder.getResults();
if (results.hasMessages(Message.Level.ERROR)) { if (results.hasMessages(Message.Level.ERROR)) {
throw new BadRequestAlertException(String.format("编译实体处理逻辑 [%s] 发生异常, %s", logic.getName(), results.getMessages()), "LogicAspect", "reloadLogic"); throw new BadRequestAlertException(String.format("编译实体处理逻辑 [%s] 发生异常, %s", logic.getName(), results.getMessages()), "DELogicAspect", "reloadLogic");
} }
KieContainer kieContainer = kieServices.newKieContainer(kieServices.getRepository().getDefaultReleaseId()); KieContainer kieContainer = kieServices.newKieContainer(kieServices.getRepository().getDefaultReleaseId());
logic.setContainer(kieContainer); logic.setContainer(kieContainer);
...@@ -290,6 +292,7 @@ public class DELogicAspect { ...@@ -290,6 +292,7 @@ public class DELogicAspect {
logic.setMd5(getMd5(refFiles)); logic.setMd5(getMd5(refFiles));
} }
} catch (Exception e) { } catch (Exception e) {
log.error("执行处理逻辑失败"+e);
} finally { } finally {
try { try {
if (reader != null) { if (reader != null) {
...@@ -299,6 +302,7 @@ public class DELogicAspect { ...@@ -299,6 +302,7 @@ public class DELogicAspect {
bpmn.close(); bpmn.close();
} }
} catch (Exception e) { } catch (Exception e) {
log.error("执行处理逻辑失败"+e);
} }
} }
return logic; return logic;
...@@ -326,7 +330,8 @@ public class DELogicAspect { ...@@ -326,7 +330,8 @@ public class DELogicAspect {
if(!ObjectUtils.isEmpty(service.getSuperclass()) && !service.getSuperclass().getName().equals(Object.class.getName())) { if(!ObjectUtils.isEmpty(service.getSuperclass()) && !service.getSuperclass().getName().equals(Object.class.getName())) {
return getEntity(service.getSuperclass()); return getEntity(service.getSuperclass());
} }
throw new BadRequestAlertException("获取实体信息失败", "DELogicAspect", "getEntity"); log.error("获取实体信息失败,未能在[{}]中找到参数为实体类对象的行为,如create.update等",service.getSimpleName());
return null;
} }
/** /**
...@@ -347,6 +352,7 @@ public class DELogicAspect { ...@@ -347,6 +352,7 @@ public class DELogicAspect {
buffer.append(strBpmn); buffer.append(strBpmn);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("处理逻辑版本检查失败"+e);
} finally { } finally {
if (bpmnFile != null) { if (bpmnFile != null) {
bpmnFile.close(); bpmnFile.close();
...@@ -359,6 +365,7 @@ public class DELogicAspect { ...@@ -359,6 +365,7 @@ public class DELogicAspect {
return null; return null;
} }
} catch (Exception e) { } catch (Exception e) {
log.error("处理逻辑版本检查失败"+e);
return null; return null;
} }
} }
...@@ -418,6 +425,7 @@ public class DELogicAspect { ...@@ -418,6 +425,7 @@ public class DELogicAspect {
FileUtils.copyToFile(in, bpmn); FileUtils.copyToFile(in, bpmn);
} }
} catch (IOException e) { } catch (IOException e) {
log.error("执行处理逻辑失败,无法获取逻辑文件"+e);
} finally { } finally {
if (in != null) { if (in != null) {
try { try {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册