提交 b8ff3dc8 编写于 作者: O o2null

Merge branch 'feat/gc' into 'develop'

Feat/gc

See merge request o2oa/o2oa!311
...@@ -42,6 +42,7 @@ public class ActionControl extends ActionBase { ...@@ -42,6 +42,7 @@ public class ActionControl extends ActionBase {
private static final String CMD_SC = "sc"; private static final String CMD_SC = "sc";
private static final String CMD_EN = "en"; private static final String CMD_EN = "en";
private static final String CMD_DE = "de"; private static final String CMD_DE = "de";
private static final String CMD_GC = "gc";
private static final int REPEAT_MAX = 100; private static final int REPEAT_MAX = 100;
private static final int REPEAT_MIN = 1; private static final int REPEAT_MIN = 1;
...@@ -64,12 +65,8 @@ public class ActionControl extends ActionBase { ...@@ -64,12 +65,8 @@ public class ActionControl extends ActionBase {
ec(cmd); ec(cmd);
} else if (cmd.hasOption(CMD_DD)) { } else if (cmd.hasOption(CMD_DD)) {
dd(cmd); dd(cmd);
// } else if (cmd.hasOption(CMD_DS)) {
// ds(cmd);
} else if (cmd.hasOption(CMD_RD)) { } else if (cmd.hasOption(CMD_RD)) {
rd(cmd); rd(cmd);
// } else if (cmd.hasOption(CMD_RS)) {
// rs(cmd);
} else if (cmd.hasOption(CMD_CLH2)) { } else if (cmd.hasOption(CMD_CLH2)) {
clh2(cmd); clh2(cmd);
} else if (cmd.hasOption(CMD_UF)) { } else if (cmd.hasOption(CMD_UF)) {
...@@ -84,6 +81,8 @@ public class ActionControl extends ActionBase { ...@@ -84,6 +81,8 @@ public class ActionControl extends ActionBase {
en(cmd); en(cmd);
} else if (cmd.hasOption(CMD_DE)) { } else if (cmd.hasOption(CMD_DE)) {
de(cmd); de(cmd);
} else if (cmd.hasOption(CMD_GC)) {
gc();
} else { } else {
HelpFormatter formatter = new HelpFormatter(); HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("control command", displayOptions()); formatter.printHelp("control command", displayOptions());
...@@ -110,6 +109,7 @@ public class ActionControl extends ActionBase { ...@@ -110,6 +109,7 @@ public class ActionControl extends ActionBase {
options.addOption(scOption()); options.addOption(scOption());
options.addOption(enOption()); options.addOption(enOption());
options.addOption(deOption()); options.addOption(deOption());
options.addOption(gcOption());
return options; return options;
} }
...@@ -129,6 +129,7 @@ public class ActionControl extends ActionBase { ...@@ -129,6 +129,7 @@ public class ActionControl extends ActionBase {
displayOptions.addOption(rstOption()); displayOptions.addOption(rstOption());
displayOptions.addOption(scOption()); displayOptions.addOption(scOption());
displayOptions.addOption(enOption()); displayOptions.addOption(enOption());
displayOptions.addOption(gcOption());
return displayOptions; return displayOptions;
} }
...@@ -202,6 +203,10 @@ public class ActionControl extends ActionBase { ...@@ -202,6 +203,10 @@ public class ActionControl extends ActionBase {
.desc("密码文本解密.").hasArg().build(); .desc("密码文本解密.").hasArg().build();
} }
private static Option gcOption() {
return Option.builder(CMD_GC).longOpt("jvm garbage collection").hasArg(false).desc("垃圾收集.").build();
}
private void ec(CommandLine cmd) throws Exception { private void ec(CommandLine cmd) throws Exception {
if (BooleanUtils.isNotTrue(Config.currentNode().getEraseContentEnable())) { if (BooleanUtils.isNotTrue(Config.currentNode().getEraseContentEnable())) {
logger.print("erase content is disabled."); logger.print("erase content is disabled.");
...@@ -323,6 +328,11 @@ public class ActionControl extends ActionBase { ...@@ -323,6 +328,11 @@ public class ActionControl extends ActionBase {
en.execute(text); en.execute(text);
} }
private void gc() {
GarbageCollection garbageCollection = new GarbageCollection();
garbageCollection.execute();
}
private Integer getArgInteger(CommandLine cmd, String opt, Integer defaultValue) { private Integer getArgInteger(CommandLine cmd, String opt, Integer defaultValue) {
Integer repeat = defaultValue; Integer repeat = defaultValue;
String r = cmd.getOptionValue(opt); String r = cmd.getOptionValue(opt);
......
package com.x.server.console.action;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
public class GarbageCollection {
private static final Logger LOGGER = LoggerFactory.getLogger(GarbageCollection.class);
public boolean execute() {
Runtime.getRuntime().gc();
return true;
}
}
\ No newline at end of file
...@@ -125,6 +125,7 @@ class ActionExecuteV2 extends BaseAction { ...@@ -125,6 +125,7 @@ class ActionExecuteV2 extends BaseAction {
jpql = this.joinSql(jpql, business); jpql = this.joinSql(jpql, business);
Query query; Query query;
String upJpql = jpql.toUpperCase(); String upJpql = jpql.toUpperCase();
LOGGER.debug("script jpql:{}.", jpql);
if (upJpql.indexOf(JOIN_KEY) > -1 && upJpql.indexOf(JOIN_ON_KEY) > -1) { if (upJpql.indexOf(JOIN_KEY) > -1 && upJpql.indexOf(JOIN_ON_KEY) > -1) {
query = em.createNativeQuery(jpql); query = em.createNativeQuery(jpql);
} else { } else {
...@@ -170,6 +171,7 @@ class ActionExecuteV2 extends BaseAction { ...@@ -170,6 +171,7 @@ class ActionExecuteV2 extends BaseAction {
jpql = this.joinSql(jpql, business); jpql = this.joinSql(jpql, business);
Query query; Query query;
String upJpql = jpql.toUpperCase(); String upJpql = jpql.toUpperCase();
LOGGER.debug("jpql:{}.", jpql);
if (upJpql.indexOf(JOIN_KEY) > -1 && upJpql.indexOf(JOIN_ON_KEY) > -1) { if (upJpql.indexOf(JOIN_KEY) > -1 && upJpql.indexOf(JOIN_ON_KEY) > -1) {
query = em.createNativeQuery(jpql); query = em.createNativeQuery(jpql);
} else { } else {
......
...@@ -296,11 +296,11 @@ class ActionExecuteV2 extends BaseAction { ...@@ -296,11 +296,11 @@ class ActionExecuteV2 extends BaseAction {
if (size > 1) { if (size > 1) {
list.add("("); list.add("(");
} }
for(int i=0; i < size; i++){ for (int i = 0; i < size; i++) {
FilterEntry filterEntry = wi.getFilterList().get(i); FilterEntry filterEntry = wi.getFilterList().get(i);
if(i > 0){ if (i > 0) {
String joinTag = filterEntry.logic; String joinTag = filterEntry.logic;
if(StringUtils.isEmpty(joinTag) || !joinTag.equalsIgnoreCase(SQL_OR)){ if (StringUtils.isEmpty(joinTag) || !joinTag.equalsIgnoreCase(SQL_OR)) {
joinTag = SQL_AND; joinTag = SQL_AND;
} }
list.add(joinTag.toUpperCase()); list.add(joinTag.toUpperCase());
......
{
"selectEntryList":
[
{
"orderType": "original",
"orderRank": 0,
"selectType": "path",
"attribute": "",
"name": "",
"column": "qsubject",
"displayName": "",
"path": "subject"
},
{
"orderType": "original",
"orderRank": 0,
"selectType": "path",
"attribute": "",
"name": "",
"column": "qamount",
"displayName": "",
"path": "amount"
},
{
"orderType": "original",
"orderRank": 0,
"selectType": "path",
"attribute": "",
"name": "",
"column": "qphone",
"displayName": "",
"path": "phone"
},
{
"orderType": "original",
"orderRank": 0,
"selectType": "path",
"attribute": "",
"name": "",
"column": "qslDate",
"displayName": "",
"path": "slDate"
},
{
"orderType": "original",
"orderRank": 0,
"selectType": "path",
"attribute": "",
"name": "",
"column": "qjzDate",
"displayName": "",
"path": "jzDate"
},
{
"orderType": "original",
"orderRank": 0,
"selectType": "attribute",
"attribute": "title",
"name": "",
"column": "qtitle",
"displayName": "",
"path": ""
},
{
"orderType": "original",
"orderRank": 0,
"selectType": "attribute",
"attribute": "creatorPerson",
"name": "",
"column": "qcreatorPerson",
"displayName": "",
"path": ""
}
],
"whereEntry":
{
"applicationList":
[
"0c2c3d76-5301-4918-8869-f88de8d2fe57"
],
"processList":
[
],
"companyList":
[
],
"departmentList":
[
],
"personList":
[
],
"identityList":
[
]
},
"filterEntryList":
[
],
"calculateEntryList":
[
],
"groupEntry":
{
"column": "qphone",
"orderType": "original"
},
"dateRangeEntry":
{
"dateRangeType": "none",
"dateEffectType": "completed",
"year": "",
"month": "",
"date": "",
"season": 0,
"week": 0,
"adjust": 0
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册