This commit is contained in:
parent
dae2ab2659
commit
7c7e861ff1
|
|
@ -29,3 +29,4 @@ client/nbproject/private/private.properties
|
||||||
*.class
|
*.class
|
||||||
*.class
|
*.class
|
||||||
*.7z
|
*.7z
|
||||||
|
/client/dist/
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
# 默认忽略的文件
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# 基于编辑器的 HTTP 客户端请求
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
|
|
@ -10,29 +10,29 @@
|
||||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectColorInfo"><![CDATA[{
|
<component name="ProjectColorInfo">{
|
||||||
"associatedIndex": 6
|
"associatedIndex": 6
|
||||||
}]]></component>
|
}</component>
|
||||||
<component name="ProjectId" id="2aiWf7bW87V3mbwTY6CfqHLJiX4" />
|
<component name="ProjectId" id="2aiWf7bW87V3mbwTY6CfqHLJiX4" />
|
||||||
<component name="ProjectViewState">
|
<component name="ProjectViewState">
|
||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent"><![CDATA[{
|
<component name="PropertiesComponent">{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"WebServerToolWindowFactoryState": "false",
|
"WebServerToolWindowFactoryState": "false",
|
||||||
"last_opened_file_path": "D:/OJ",
|
"last_opened_file_path": "D:/OJ",
|
||||||
"node.js.detected.package.eslint": "true",
|
"node.js.detected.package.eslint": "true",
|
||||||
"node.js.detected.package.tslint": "true",
|
"node.js.detected.package.tslint": "true",
|
||||||
"node.js.selected.package.eslint": "(autodetect)",
|
"node.js.selected.package.eslint": "(autodetect)",
|
||||||
"node.js.selected.package.tslint": "(autodetect)",
|
"node.js.selected.package.tslint": "(autodetect)",
|
||||||
"settings.editor.selected.configurable": "vcs.Subversion",
|
"settings.editor.selected.configurable": "vcs.Subversion",
|
||||||
"spring.configuration.checksum": "d41d8cd98f00b204e9800998ecf8427e",
|
"spring.configuration.checksum": "d41d8cd98f00b204e9800998ecf8427e",
|
||||||
"vue.rearranger.settings.migration": "true"
|
"vue.rearranger.settings.migration": "true"
|
||||||
}
|
}
|
||||||
}]]></component>
|
}</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager">
|
||||||
<configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
<configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||||
<option name="MAIN_CLASS_NAME" value="client.test.Test1" />
|
<option name="MAIN_CLASS_NAME" value="client.test.Test1" />
|
||||||
|
|
@ -66,6 +66,7 @@
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1704801979303</updated>
|
<updated>1704801979303</updated>
|
||||||
<workItem from="1704801980316" duration="598000" />
|
<workItem from="1704801980316" duration="598000" />
|
||||||
|
<workItem from="1719379629921" duration="24000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
// 使用 IntelliSense 了解相关属性。
|
||||||
|
// 悬停以查看现有属性的描述。
|
||||||
|
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "启动程序",
|
||||||
|
"skipFiles": [
|
||||||
|
"<node_internals>/**"
|
||||||
|
],
|
||||||
|
"program": "${workspaceFolder}\\client\\src\\web\\test.js"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -1,8 +1,8 @@
|
||||||
build.xml.data.CRC32=e5eafc6d
|
build.xml.data.CRC32=e5eafc6d
|
||||||
build.xml.script.CRC32=35a5ea50
|
build.xml.script.CRC32=35a5ea50
|
||||||
build.xml.stylesheet.CRC32=8064a381@1.79.1.48
|
build.xml.stylesheet.CRC32=f85dc8f2@1.113.0.48
|
||||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||||
nbproject/build-impl.xml.data.CRC32=e5eafc6d
|
nbproject/build-impl.xml.data.CRC32=e5eafc6d
|
||||||
nbproject/build-impl.xml.script.CRC32=f31ce408
|
nbproject/build-impl.xml.script.CRC32=6e6b0703
|
||||||
nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48
|
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.113.0.48
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,4 @@ do.jar=true
|
||||||
>>>>>>> 9424929ba4fe9afe21ab70bff638a1960335fa7f
|
>>>>>>> 9424929ba4fe9afe21ab70bff638a1960335fa7f
|
||||||
javac.debug=true
|
javac.debug=true
|
||||||
javadoc.preview=true
|
javadoc.preview=true
|
||||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
|
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,7 @@
|
||||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group name="最新版本代码"/>
|
<group name="最新版本代码"/>
|
||||||
<group>
|
<group>
|
||||||
<file>file:/K:/OJ/Common/src/common/EscapeXml.java</file>
|
<file>file:/D:/oj/Common/src/common/FileFinder.java</file>
|
||||||
<file>file:/K:/OJ/Common/src/log/Log.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/common/Config.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/common/DBConfig.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/persistence/oj_beans/ProblemTestCaseBean.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/common/FileFinder.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/common/LogLevel.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/common/TimeTool.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/common/Logger.java</file>
|
|
||||||
<file>file:/K:/OJ/Common/src/common/LangSelector.java</file>
|
|
||||||
</group>
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,12 @@ build.test.results.dir=${build.dir}/test/results
|
||||||
#debug.transport=dt_socket
|
#debug.transport=dt_socket
|
||||||
debug.classpath=\
|
debug.classpath=\
|
||||||
${run.classpath}
|
${run.classpath}
|
||||||
|
debug.modulepath=\
|
||||||
|
${run.modulepath}
|
||||||
debug.test.classpath=\
|
debug.test.classpath=\
|
||||||
${run.test.classpath}
|
${run.test.classpath}
|
||||||
|
debug.test.modulepath=\
|
||||||
|
${run.test.modulepath}
|
||||||
# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6
|
# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6
|
||||||
dist.archive.excludes=
|
dist.archive.excludes=
|
||||||
# This directory is removed when the project is cleaned:
|
# This directory is removed when the project is cleaned:
|
||||||
|
|
@ -58,6 +62,8 @@ javac.classpath=\
|
||||||
javac.compilerargs=
|
javac.compilerargs=
|
||||||
javac.deprecation=false
|
javac.deprecation=false
|
||||||
javac.external.vm=false
|
javac.external.vm=false
|
||||||
|
javac.modulepath=
|
||||||
|
javac.processormodulepath=
|
||||||
javac.processorpath=\
|
javac.processorpath=\
|
||||||
${javac.classpath}
|
${javac.classpath}
|
||||||
javac.source=1.8
|
javac.source=1.8
|
||||||
|
|
@ -65,6 +71,8 @@ javac.target=1.8
|
||||||
javac.test.classpath=\
|
javac.test.classpath=\
|
||||||
${javac.classpath}:\
|
${javac.classpath}:\
|
||||||
${build.classes.dir}
|
${build.classes.dir}
|
||||||
|
javac.test.modulepath=\
|
||||||
|
${javac.modulepath}
|
||||||
javac.test.processorpath=\
|
javac.test.processorpath=\
|
||||||
${javac.test.classpath}
|
${javac.test.classpath}
|
||||||
javadoc.additionalparam=
|
javadoc.additionalparam=
|
||||||
|
|
@ -78,7 +86,7 @@ javadoc.splitindex=true
|
||||||
javadoc.use=true
|
javadoc.use=true
|
||||||
javadoc.version=false
|
javadoc.version=false
|
||||||
javadoc.windowtitle=
|
javadoc.windowtitle=
|
||||||
main.class=common.DBConfig
|
main.class=common.LangSelector
|
||||||
meta.inf.dir=${src.dir}/META-INF
|
meta.inf.dir=${src.dir}/META-INF
|
||||||
mkdist.disabled=true
|
mkdist.disabled=true
|
||||||
platform.active=default_platform
|
platform.active=default_platform
|
||||||
|
|
@ -89,9 +97,13 @@ run.classpath=\
|
||||||
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
|
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
|
||||||
# To set system properties for unit tests define test-sys-prop.name=value:
|
# To set system properties for unit tests define test-sys-prop.name=value:
|
||||||
run.jvmargs=
|
run.jvmargs=
|
||||||
|
run.modulepath=\
|
||||||
|
${javac.modulepath}
|
||||||
run.test.classpath=\
|
run.test.classpath=\
|
||||||
${javac.test.classpath}:\
|
${javac.test.classpath}:\
|
||||||
${build.test.classes.dir}
|
${build.test.classes.dir}
|
||||||
|
run.test.modulepath=\
|
||||||
|
${javac.test.modulepath}
|
||||||
source.encoding=UTF-8
|
source.encoding=UTF-8
|
||||||
src.dir=src
|
src.dir=src
|
||||||
test.src.dir=test
|
test.src.dir=test
|
||||||
|
|
|
||||||
|
|
@ -70,12 +70,12 @@ private final static String FileName="DBConfig.properties";
|
||||||
public static void setPassword(String Password) {
|
public static void setPassword(String Password) {
|
||||||
dbConfig.setProperty("hibernate.connection.password", Password);
|
dbConfig.setProperty("hibernate.connection.password", Password);
|
||||||
}
|
}
|
||||||
|
//
|
||||||
public static void main(String[] args) {
|
// public static void main(String[] args) {
|
||||||
System.out.println(DBConfig.getUserName());
|
// System.out.println(DBConfig.getUserName());
|
||||||
System.out.println(DBConfig.getPassword());
|
// System.out.println(DBConfig.getPassword());
|
||||||
System.out.println(DBConfig.getIp());
|
// System.out.println(DBConfig.getIp());
|
||||||
}
|
// }
|
||||||
|
|
||||||
public static void writeToFile(){
|
public static void writeToFile(){
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,10 @@ import java.util.Map;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.xml.transform.Transformer;
|
||||||
|
import javax.xml.transform.TransformerFactory;
|
||||||
|
import javax.xml.transform.dom.DOMSource;
|
||||||
|
import javax.xml.transform.stream.StreamResult;
|
||||||
|
|
||||||
import javax.xml.xpath.XPath;
|
import javax.xml.xpath.XPath;
|
||||||
import javax.xml.xpath.XPathConstants;
|
import javax.xml.xpath.XPathConstants;
|
||||||
|
|
@ -17,6 +21,7 @@ import javax.xml.xpath.XPathExpressionException;
|
||||||
import javax.xml.xpath.XPathFactory;
|
import javax.xml.xpath.XPathFactory;
|
||||||
|
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
import org.w3c.dom.NodeList;
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
|
@ -25,19 +30,11 @@ import org.w3c.dom.NodeList;
|
||||||
* @author Jared Ye
|
* @author Jared Ye
|
||||||
*/
|
*/
|
||||||
public abstract class LangSelector {
|
public abstract class LangSelector {
|
||||||
//
|
|
||||||
private static Map<String,String>customDefaultCompiler;
|
|
||||||
|
|
||||||
public static String getDefaultCompiler(String language) {
|
|
||||||
return customDefaultCompiler.get(language);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setDefaultCompiler(String language,String compiler) {
|
|
||||||
customDefaultCompiler.put(language, compiler);
|
|
||||||
}
|
|
||||||
private static String ConfigPath="";
|
private static String ConfigPath="";
|
||||||
private static Document Data;
|
private static Document Data;
|
||||||
public static boolean Loaded=false;
|
public static boolean Loaded=false;
|
||||||
|
|
||||||
|
private static String lastLanguage; // 最后使用的语言
|
||||||
private static XPath xpath = XPathFactory.newInstance().newXPath();
|
private static XPath xpath = XPathFactory.newInstance().newXPath();
|
||||||
static {
|
static {
|
||||||
try {
|
try {
|
||||||
|
|
@ -48,6 +45,99 @@ public abstract class LangSelector {
|
||||||
//初始化的时候没有读到config.xml
|
//初始化的时候没有读到config.xml
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
private static Map<String,String>customDefaultCompiler;
|
||||||
|
|
||||||
|
// by san_san
|
||||||
|
public static String getDefaultCompiler(String language) {
|
||||||
|
try {
|
||||||
|
String xpathExpr = String.format("/languages/language[@id='%s']/lastCompiler", language);
|
||||||
|
|
||||||
|
|
||||||
|
Node lastCompilerNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
|
||||||
|
|
||||||
|
if (lastCompilerNode != null) {
|
||||||
|
return lastCompilerNode.getTextContent();
|
||||||
|
}
|
||||||
|
} catch (XPathExpressionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return customDefaultCompiler.get(language);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setDefaultCompiler(String language,String compiler) {
|
||||||
|
customDefaultCompiler.put(language, compiler);
|
||||||
|
try {
|
||||||
|
// 更新 XML 中的 lastCompiler 节点
|
||||||
|
String xpathExpr = String.format("/languages/language[@id='%s']", language);
|
||||||
|
Node languageNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
|
||||||
|
|
||||||
|
if (languageNode != null) {
|
||||||
|
Element languageElement = (Element) languageNode;
|
||||||
|
Node lastCompilerNode = (Node) xpath.evaluate("lastCompiler", languageElement, XPathConstants.NODE);
|
||||||
|
|
||||||
|
if (lastCompilerNode == null) {
|
||||||
|
// 如果 lastCompiler 节点不存在,创建它
|
||||||
|
lastCompilerNode = Data.createElement("lastCompiler");
|
||||||
|
languageElement.appendChild(lastCompilerNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
lastCompilerNode.setTextContent(compiler);
|
||||||
|
}
|
||||||
|
} catch (XPathExpressionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
|
||||||
|
// by san_san
|
||||||
|
// 获取最后使用的语言
|
||||||
|
public static String getLastLanguage() {
|
||||||
|
try {
|
||||||
|
String xpathExpr = "/languages/lastLanguage";
|
||||||
|
Node lastLanguageNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
|
||||||
|
|
||||||
|
if (lastLanguageNode != null) {
|
||||||
|
return lastLanguageNode.getTextContent();
|
||||||
|
}
|
||||||
|
} catch (XPathExpressionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置最后使用的语言
|
||||||
|
public static void setLastLanguage(String language) {
|
||||||
|
try {
|
||||||
|
// 标准化语言名称
|
||||||
|
String standardLanguage = parseStandardLanguageName(language);
|
||||||
|
|
||||||
|
// 查找现有的 lastLanguage 节点
|
||||||
|
String xpathExpr = "/languages/lastLanguage";
|
||||||
|
Node lastLanguageNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
|
||||||
|
|
||||||
|
if (lastLanguageNode != null) {
|
||||||
|
// 如果节点存在,更新内容
|
||||||
|
lastLanguageNode.setTextContent(standardLanguage);
|
||||||
|
} else {
|
||||||
|
// 如果节点不存在,创建新节点
|
||||||
|
Element root = Data.getDocumentElement();
|
||||||
|
Element newLastLanguage = Data.createElement("lastLanguage");
|
||||||
|
newLastLanguage.setTextContent(standardLanguage);
|
||||||
|
root.appendChild(newLastLanguage);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新内存中的值
|
||||||
|
lastLanguage = standardLanguage;
|
||||||
|
|
||||||
|
// 保存到文件
|
||||||
|
save(ConfigPath);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static String findConfigFilePath() {
|
private static String findConfigFilePath() {
|
||||||
String currentPath = System.getProperty("user.dir");
|
String currentPath = System.getProperty("user.dir");
|
||||||
String configFile = "config.xml";
|
String configFile = "config.xml";
|
||||||
|
|
@ -81,6 +171,118 @@ public abstract class LangSelector {
|
||||||
public static String getConfigPath(){
|
public static String getConfigPath(){
|
||||||
return ConfigPath;
|
return ConfigPath;
|
||||||
}
|
}
|
||||||
|
/////////////////////////////////新增的逻辑
|
||||||
|
public static void save(String filePath) throws Exception {
|
||||||
|
Document doc = Data;
|
||||||
|
// 创建TransformerFactory实例
|
||||||
|
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||||
|
Transformer transformer = transformerFactory.newTransformer();
|
||||||
|
|
||||||
|
// 将Document转换为DOMSource
|
||||||
|
DOMSource source = new DOMSource(doc);
|
||||||
|
|
||||||
|
// 创建StreamResult以保存到文件
|
||||||
|
StreamResult result = new StreamResult(new File(filePath));
|
||||||
|
|
||||||
|
// 执行转换并写入文件
|
||||||
|
transformer.transform(source, result);
|
||||||
|
|
||||||
|
System.out.println("XML 文件保存成功: " + filePath);
|
||||||
|
}
|
||||||
|
public static boolean setCompilerPath(String languageName, String compilerName, String newPath) {
|
||||||
|
languageName = parseStandardLanguageName(languageName);
|
||||||
|
if (compilerName == null || compilerName.trim().equals("")) {
|
||||||
|
compilerName = getDefaultCompilerName(languageName);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 定义XPath表达式来找到对应的编译器path节点
|
||||||
|
String exp = "/languages/language" + "[@id='" + languageName + "']" + "//compiler[@name='" + compilerName + "']//path";
|
||||||
|
|
||||||
|
// 使用XPath查找对应节点
|
||||||
|
Node pathNode = (Node) xpath.evaluate(exp, Data, XPathConstants.NODE);
|
||||||
|
|
||||||
|
// 检查path节点是否存在
|
||||||
|
if (pathNode != null) {
|
||||||
|
// 设置新路径
|
||||||
|
pathNode.setTextContent(newPath);
|
||||||
|
return true; // 返回true表示设置成功
|
||||||
|
} else {
|
||||||
|
System.out.println("找不到指定的编译器路径节点");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (XPathExpressionException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void setCompileCommand(String languageName, String compilerName, String compileCommand) {
|
||||||
|
Document doc=Data;
|
||||||
|
languageName = parseStandardLanguageName(languageName);
|
||||||
|
if (compilerName == null || compilerName.trim().equals("")) {
|
||||||
|
compilerName = getDefaultCompilerName(languageName);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
String exp = "/languages/language[@id='" + languageName + "']//compiler[@name='" + compilerName + "']//compileCmd";
|
||||||
|
|
||||||
|
// 获取节点
|
||||||
|
Node compileCmdNode = (Node) xpath.evaluate(exp, Data, XPathConstants.NODE);
|
||||||
|
if (compileCmdNode != null) {
|
||||||
|
compileCmdNode.setTextContent(compileCommand);
|
||||||
|
} else {
|
||||||
|
// 创建新节点逻辑
|
||||||
|
// 这里的实现取决于你的 XML 结构,假设我们有 Document 对象 doc
|
||||||
|
Element newCompilerElement = doc.createElement("compiler");
|
||||||
|
newCompilerElement.setAttribute("name", compilerName);
|
||||||
|
Element newCompileCmdElement = doc.createElement("compileCmd");
|
||||||
|
newCompileCmdElement.setTextContent(compileCommand);
|
||||||
|
newCompilerElement.appendChild(newCompileCmdElement);
|
||||||
|
|
||||||
|
// 假设你有一个表示语言的节点
|
||||||
|
Node languageNode = (Node) xpath.evaluate("/languages/language[@id='" + languageName + "']", Data, XPathConstants.NODE);
|
||||||
|
if (languageNode != null) {
|
||||||
|
languageNode.appendChild(newCompilerElement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (XPathExpressionException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//////////////////////
|
||||||
|
public static void setLinkCommand(String languageName, String compilerName, String linkCommand) {
|
||||||
|
Document doc = Data;
|
||||||
|
languageName = parseStandardLanguageName(languageName);
|
||||||
|
if (compilerName == null || compilerName.trim().equals("")) {
|
||||||
|
compilerName = getDefaultCompilerName(languageName);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
String exp = "/languages/language[@id='" + languageName + "']//compiler[@name='" + compilerName + "']//linkCmd";
|
||||||
|
|
||||||
|
// 获取节点
|
||||||
|
Node compileCmdNode = (Node) xpath.evaluate(exp, Data, XPathConstants.NODE);
|
||||||
|
if (compileCmdNode != null) {
|
||||||
|
compileCmdNode.setTextContent(linkCommand);
|
||||||
|
} else {
|
||||||
|
// 创建新节点逻辑
|
||||||
|
// 这里的实现取决于你的 XML 结构,假设我们有 Document 对象 doc
|
||||||
|
Element newCompilerElement = doc.createElement("compiler");
|
||||||
|
newCompilerElement.setAttribute("name", compilerName);
|
||||||
|
Element newCompileCmdElement = doc.createElement("linkCmd");
|
||||||
|
newCompileCmdElement.setTextContent(linkCommand);
|
||||||
|
newCompilerElement.appendChild(newCompileCmdElement);
|
||||||
|
|
||||||
|
// 假设你有一个表示语言的节点
|
||||||
|
Node languageNode = (Node) xpath.evaluate("/languages/language[@id='" + languageName + "']", Data, XPathConstants.NODE);
|
||||||
|
if (languageNode != null) {
|
||||||
|
languageNode.appendChild(newCompilerElement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (XPathExpressionException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
public static String parseStandardLanguageName(String languageName) {
|
public static String parseStandardLanguageName(String languageName) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|
@ -122,7 +324,10 @@ public abstract class LangSelector {
|
||||||
public static String getDefaultCompilerName(String languageName){
|
public static String getDefaultCompilerName(String languageName){
|
||||||
languageName=parseStandardLanguageName(languageName);
|
languageName=parseStandardLanguageName(languageName);
|
||||||
if(customDefaultCompiler.containsKey(languageName))
|
if(customDefaultCompiler.containsKey(languageName))
|
||||||
return customDefaultCompiler.get(languageName);
|
{
|
||||||
|
return customDefaultCompiler.get(languageName);
|
||||||
|
}
|
||||||
|
|
||||||
//if(languageName.charAt(0)>='a')languageName
|
//if(languageName.charAt(0)>='a')languageName
|
||||||
try{
|
try{
|
||||||
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"/compiler[1]/@name";
|
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"/compiler[1]/@name";
|
||||||
|
|
@ -147,8 +352,51 @@ public abstract class LangSelector {
|
||||||
// LangSelector.ConfigPath=new File(LangSelector.ConfigPath).getAbsolutePath();
|
// LangSelector.ConfigPath=new File(LangSelector.ConfigPath).getAbsolutePath();
|
||||||
Document doc=db.parse(new File(LangSelector.ConfigPath));
|
Document doc=db.parse(new File(LangSelector.ConfigPath));
|
||||||
Data=doc;
|
Data=doc;
|
||||||
|
|
||||||
|
// 加载默认编译器设置 by san_san
|
||||||
|
NodeList languageNodes = (NodeList) xpath.evaluate("/languages/language", doc, XPathConstants.NODESET);
|
||||||
|
for (int i = 0; i < languageNodes.getLength(); i++) {
|
||||||
|
Element languageElement = (Element) languageNodes.item(i);
|
||||||
|
String languageId = languageElement.getAttribute("id");
|
||||||
|
|
||||||
|
Node lastCompilerNode = (Node) xpath.evaluate("lastCompiler", languageElement, XPathConstants.NODE);
|
||||||
|
if (lastCompilerNode != null) {
|
||||||
|
customDefaultCompiler.put(languageId, lastCompilerNode.getTextContent());
|
||||||
|
} else {
|
||||||
|
// 如果 lastCompiler 不存在,使用第一个编译器作为默认
|
||||||
|
NodeList compilerNodes = languageElement.getElementsByTagName("compiler");
|
||||||
|
if (compilerNodes.getLength() > 0) {
|
||||||
|
Element defaultCompiler = (Element) compilerNodes.item(0);
|
||||||
|
customDefaultCompiler.put(languageId, defaultCompiler.getAttribute("name"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化 lastLanguage
|
||||||
|
Node lastLanguageNode = (Node) xpath.evaluate("/languages/lastLanguage", doc, XPathConstants.NODE);
|
||||||
|
if (lastLanguageNode != null) {
|
||||||
|
lastLanguage = lastLanguageNode.getTextContent();
|
||||||
|
} else {
|
||||||
|
// 如果不存在,创建节点并设置默认值为第一个可用的语言
|
||||||
|
languageNodes = (NodeList) xpath.evaluate("/languages/language", doc, XPathConstants.NODESET);
|
||||||
|
if (languageNodes.getLength() > 0) {
|
||||||
|
Element firstLanguage = (Element) languageNodes.item(0);
|
||||||
|
lastLanguage = firstLanguage.getAttribute("id");
|
||||||
|
|
||||||
|
Element root = doc.getDocumentElement();
|
||||||
|
Element lastLanguageElement = doc.createElement("lastLanguage");
|
||||||
|
lastLanguageElement.setTextContent(lastLanguage);
|
||||||
|
root.appendChild(lastLanguageElement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return doc;
|
return doc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取语言ID的辅助方法
|
||||||
|
public static String getLanguageIdFromAlias(String alias) {
|
||||||
|
return parseStandardLanguageName(alias);
|
||||||
|
}
|
||||||
public static List<String> getCompilerNames(String languageName){
|
public static List<String> getCompilerNames(String languageName){
|
||||||
languageName=parseStandardLanguageName(languageName);
|
languageName=parseStandardLanguageName(languageName);
|
||||||
|
|
||||||
|
|
@ -172,11 +420,13 @@ public abstract class LangSelector {
|
||||||
|
|
||||||
public static String getCompilerPath(String languageName,String compilerName) {
|
public static String getCompilerPath(String languageName,String compilerName) {
|
||||||
languageName=parseStandardLanguageName(languageName);
|
languageName=parseStandardLanguageName(languageName);
|
||||||
if(compilerName==null)compilerName=getDefaultCompilerName(languageName);
|
if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
|
||||||
try{
|
try{
|
||||||
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//path/text()";
|
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//path/text()";
|
||||||
return (String) xpath.evaluate(exp,Data);
|
return (String) xpath.evaluate(exp,Data);
|
||||||
} catch (XPathExpressionException e) {
|
} catch (XPathExpressionException e) {
|
||||||
|
System.out.println("null!");
|
||||||
|
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -194,7 +444,7 @@ public abstract class LangSelector {
|
||||||
}
|
}
|
||||||
public static String getLinkCommand(String languageName,String compilerName){
|
public static String getLinkCommand(String languageName,String compilerName){
|
||||||
languageName=parseStandardLanguageName(languageName);
|
languageName=parseStandardLanguageName(languageName);
|
||||||
if(compilerName==null)compilerName=getDefaultCompilerName(languageName);
|
if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
|
||||||
try{
|
try{
|
||||||
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//linkCmd/text()";
|
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//linkCmd/text()";
|
||||||
return (String) xpath.evaluate(exp,Data);
|
return (String) xpath.evaluate(exp,Data);
|
||||||
|
|
@ -205,7 +455,7 @@ public abstract class LangSelector {
|
||||||
}
|
}
|
||||||
public static String getRunCommand(String languageName,String compilerName){
|
public static String getRunCommand(String languageName,String compilerName){
|
||||||
languageName=parseStandardLanguageName(languageName);
|
languageName=parseStandardLanguageName(languageName);
|
||||||
if(compilerName==null)compilerName=getDefaultCompilerName(languageName);
|
if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
|
||||||
try{
|
try{
|
||||||
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//runCmd/text()";
|
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//runCmd/text()";
|
||||||
return (String) xpath.evaluate(exp,Data);
|
return (String) xpath.evaluate(exp,Data);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,130 @@
|
||||||
|
/*
|
||||||
|
* To change this license header, choose License Headers in Project Properties.
|
||||||
|
* To change this template file, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
package common;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tange
|
||||||
|
*/
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
public class VSWhereUtil {
|
||||||
|
/**
|
||||||
|
* 从指定的起始目录开始,逐层向上查找 vswhere.exe
|
||||||
|
*
|
||||||
|
* @param startDir 起始目录
|
||||||
|
* @return vswhere.exe 的绝对路径
|
||||||
|
* @throws RuntimeException 如果未找到 vswhere.exe
|
||||||
|
*/
|
||||||
|
private static String findVswhereExe(File startDir) {
|
||||||
|
File currentDir = startDir;
|
||||||
|
|
||||||
|
while (currentDir != null) {
|
||||||
|
File vswhereFile = new File(currentDir, "vswhere.exe");
|
||||||
|
if (vswhereFile.exists() && vswhereFile.isFile()) {
|
||||||
|
return vswhereFile.getAbsolutePath();
|
||||||
|
}
|
||||||
|
currentDir = currentDir.getParentFile(); // 向上一级目录
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new RuntimeException("未找到 vswhere.exe,请确保该文件存在于程序目录或上层目录中。");
|
||||||
|
}
|
||||||
|
private static String getVcvarsPath() throws IOException, InterruptedException {
|
||||||
|
String vswhereDir=findVswhereExe(new File(System.getProperty("user.dir")));
|
||||||
|
ProcessBuilder processBuilder = new ProcessBuilder(vswhereDir,
|
||||||
|
"-latest",
|
||||||
|
"-products", "*",
|
||||||
|
"installationPath",
|
||||||
|
"-find", "**/vcvars64.bat");
|
||||||
|
processBuilder.redirectErrorStream(true); // 合并标准错误输出
|
||||||
|
Process process = processBuilder.start();
|
||||||
|
List<String> output = new ArrayList<>();
|
||||||
|
try (Scanner scanner = new Scanner(process.getInputStream())) {
|
||||||
|
while (scanner.hasNextLine()) {
|
||||||
|
output.add(scanner.nextLine());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
process.waitFor();
|
||||||
|
if (!output.isEmpty()) {
|
||||||
|
return output.get(0);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static String findClExePath() {
|
||||||
|
// 获取当前工作目录
|
||||||
|
File currentDir = new File(System.getProperty("user.dir"));
|
||||||
|
// 查找 vswhere.exe 路径
|
||||||
|
String vswherePath = findVswhereExe(currentDir);
|
||||||
|
|
||||||
|
String clExeDir = null;
|
||||||
|
try {
|
||||||
|
// 构建命令行调用 vswhere.exe
|
||||||
|
ProcessBuilder processBuilder = new ProcessBuilder(vswherePath,
|
||||||
|
"-latest",
|
||||||
|
"-products", "*",
|
||||||
|
"-requires", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
|
||||||
|
"-find", "**/Hostx64/x64/cl.exe");
|
||||||
|
|
||||||
|
// 设置工作目录为当前程序目录
|
||||||
|
processBuilder.directory(new File(System.getProperty("user.dir")));
|
||||||
|
|
||||||
|
// 启动进程
|
||||||
|
Process process = processBuilder.start();
|
||||||
|
|
||||||
|
// 读取命令行输出
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
|
||||||
|
String line;
|
||||||
|
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
if (line.endsWith("cl.exe")) {
|
||||||
|
clExeDir = line.substring(0, line.lastIndexOf("cl.exe"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.close();
|
||||||
|
process.waitFor();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return clExeDir;
|
||||||
|
}
|
||||||
|
public static String getMsvcCompilerCommand(){
|
||||||
|
try {
|
||||||
|
return "cmd.exe /c call \""+getVcvarsPath()+"\" && \"$compilerPath$/cl.exe\" \"$sourceFile$\" /O2 /Fe:\"$exeFile$\"";
|
||||||
|
} catch (IOException ex) {
|
||||||
|
Logger.getLogger(VSWhereUtil.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
} catch (InterruptedException ex) {
|
||||||
|
Logger.getLogger(VSWhereUtil.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public static String getMsvcLinkCommand(){
|
||||||
|
return "cmd.exe /c";
|
||||||
|
}
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String clPath = findClExePath();
|
||||||
|
if (clPath != null) {
|
||||||
|
System.out.println("cl.exe 目录路径: " + clPath);
|
||||||
|
System.out.println(getMsvcCompilerCommand());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
System.out.println("未找到 cl.exe 路径");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
#Sat, 18 May 2024 23:00:00 +0800
|
#Mon, 10 Feb 2025 21:12:48 +0800
|
||||||
|
|
||||||
|
|
||||||
K\:\\OJ\\JuderUI=
|
D\:\\oj\\JuderUI=
|
||||||
|
|
||||||
K\:\\OJ\\Common=
|
D\:\\oj\\Common=
|
||||||
|
|
||||||
K\:\\OJ\\Judger=
|
D\:\\oj\\Judger=
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,43 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<languages>
|
||||||
|
<language id="C++" alias="c++,c,cpp,CPP,C">
|
||||||
|
<compiler name="MSVC">
|
||||||
|
<path>D:\裁判机\MSVC</path>
|
||||||
|
<compileCmd>$compilerPath$/bin/cl.exe /O2 /Fo"$objFile$" /Fe"$exeFile$" /I $compilerPath$\include /EHsc "$sourceFile$" /link /LIBPATH:"$compilerPath$\lib" </compileCmd>
|
||||||
|
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
||||||
|
<linkCmd></linkCmd>
|
||||||
|
<!-- <linkCmd>$compilerPath$/bin/link.exe /OUT:"$exeFile$" "$objFile$" /LIBPATH:"$compilerPath$\lib"</linkCmd> -->
|
||||||
|
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
||||||
|
<runCmd>$exeFile$</runCmd>
|
||||||
|
</compiler>
|
||||||
|
<compiler name="MinGW">
|
||||||
|
<path>D:\裁判机\MinGW64\bin</path>
|
||||||
|
<compileCmd>"$compilerPath$\g++" -Wall -g -c -std=c++1y "$sourceFile$" -o "$objFile$"</compileCmd>
|
||||||
|
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
||||||
|
<linkCmd>$compilerPath$\g++ "$objFile$" "$exeFile$" -o -O1</linkCmd>
|
||||||
|
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
||||||
|
<runCmd>$exeFile$</runCmd>
|
||||||
|
</compiler>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</language>
|
||||||
|
<language id="Java" alias="java,JAVA">
|
||||||
|
<compiler name="JDK8">
|
||||||
|
<path>C:\Program Files\Java\jdk1.8.0_121\bin</path>
|
||||||
|
<compileCmd>"$compilerPath$/javac" $sourceFile$</compileCmd>
|
||||||
|
|
||||||
|
<linkCmd>g++.exe -o $exeFile$ $objFile$ -O1</linkCmd>
|
||||||
|
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
||||||
|
<runCmd>$exeFile$</runCmd>
|
||||||
|
</compiler>
|
||||||
|
</language>
|
||||||
|
<language id="Python" alias="python,PYTHON,py,PY">
|
||||||
|
<compiler name="Python3">
|
||||||
|
<path>F:\裁判机\python3.12</path>
|
||||||
|
<compileCmd> </compileCmd>
|
||||||
|
<linkCmd> </linkCmd>
|
||||||
|
<runCmd>$compilerPath$/python "$sourceFile$"</runCmd>
|
||||||
|
</compiler>
|
||||||
|
</language>
|
||||||
|
</languages>
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<languages>
|
<languages>
|
||||||
<language id="C++" alias="c++,c,cpp,CPP,C">
|
<language id="C++" alias="c++,cpp,CPP">
|
||||||
<compiler name="MSVC">
|
<compiler name="MSVC">
|
||||||
<path>K:\msvc\MSVC</path>
|
<path>.\MSVC</path>
|
||||||
<compileCmd>$compilerPath$/bin/cl.exe /O2 /Fo"$objFile$" /Fe"$exeFile$" /I $compilerPath$\include /EHsc "$sourceFile$" /link /LIBPATH:"$compilerPath$\lib" </compileCmd>
|
<compileCmd>$compilerPath$/bin/cl.exe /O2 /Fo"$objFile$" /Fe"$exeFile$" /I $compilerPath$\include /EHsc "$sourceFile$" /link /LIBPATH:"$compilerPath$\lib" </compileCmd>
|
||||||
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
||||||
<linkCmd></linkCmd>
|
<linkCmd></linkCmd>
|
||||||
|
|
@ -11,30 +11,50 @@
|
||||||
<runCmd>$exeFile$</runCmd>
|
<runCmd>$exeFile$</runCmd>
|
||||||
</compiler>
|
</compiler>
|
||||||
<compiler name="MinGW">
|
<compiler name="MinGW">
|
||||||
<path>K:\Dev-Cpp\MinGW64\bin</path>
|
<path>.\MinGW64\bin</path>
|
||||||
<compileCmd>"$compilerPath$\g++" -Wall -g -c -std=c++1y "$sourceFile$" -o "$objFile$"</compileCmd>
|
<compileCmd>"$compilerPath$\g++" -std=c++1y "$sourceFile$" -o "$exeFile$"</compileCmd>
|
||||||
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
||||||
<linkCmd>$compilerPath$\g++ "$objFile$" "$exeFile$" -o -O1</linkCmd>
|
<linkCmd></linkCmd>
|
||||||
|
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
||||||
|
<runCmd>.\test\output\Main.exe</runCmd>
|
||||||
|
</compiler>
|
||||||
|
</language>
|
||||||
|
|
||||||
|
<language id="C" alias="c">
|
||||||
|
<compiler name="MSVC">
|
||||||
|
<path>.\MSVC</path>
|
||||||
|
<compileCmd>$compilerPath$/bin/cl.exe /O2 /Fo"$objFile$" /Fe"$exeFile$" /I $compilerPath$\include "$sourceFile$" /link /LIBPATH:"$compilerPath$\lib" </compileCmd>
|
||||||
|
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
||||||
|
<linkCmd></linkCmd>
|
||||||
|
<!-- <linkCmd>$compilerPath$/bin/link.exe /OUT:"$exeFile$" "$objFile$" /LIBPATH:"$compilerPath$\lib"</linkCmd> -->
|
||||||
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
||||||
<runCmd>$exeFile$</runCmd>
|
<runCmd>$exeFile$</runCmd>
|
||||||
</compiler>
|
</compiler>
|
||||||
|
<compiler name="MinGW">
|
||||||
|
<path>.\MinGW64\bin</path>
|
||||||
|
<compileCmd>"$compilerPath$\gcc" -std=c11 "$sourceFile$" -o "$exeFile$"</compileCmd>
|
||||||
|
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
|
||||||
|
<linkCmd></linkCmd>
|
||||||
|
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
||||||
|
<runCmd>.\test\output\Main.exe</runCmd>
|
||||||
|
</compiler>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</language>
|
</language>
|
||||||
<language id="Java" alias="java,JAVA">
|
<language id="Java" alias="java,JAVA">
|
||||||
<compiler name="JDK8">
|
<compiler name="JDK8">
|
||||||
<path>C:\Program Files\Java\jdk1.8.0_121\bin</path>
|
<path>.\jdk1.8.0_121\bin</path>
|
||||||
<compileCmd>"$compilerPath$/javac" $sourceFile$</compileCmd>
|
<compileCmd>"$compilerPath$/javac" $sourceFile$</compileCmd>
|
||||||
|
|
||||||
<linkCmd>g++.exe -o $exeFile$ $objFile$ -O1</linkCmd>
|
<linkCmd></linkCmd>
|
||||||
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
|
||||||
<runCmd>$exeFile$</runCmd>
|
<runCmd>$exeFile$</runCmd>
|
||||||
</compiler>
|
</compiler>
|
||||||
</language>
|
</language>
|
||||||
<language id="Python" alias="python,PYTHON,py,PY">
|
<language id="Python" alias="python,PYTHON,py,PY">
|
||||||
<compiler name="Python3">
|
<compiler name="Python 3.12">
|
||||||
<path>F:\裁判机\python3.12</path>
|
<path>.\python3.12</path>
|
||||||
<compileCmd> </compileCmd>
|
<compileCmd> </compileCmd>
|
||||||
<linkCmd> </linkCmd>
|
<linkCmd> </linkCmd>
|
||||||
<runCmd>$compilerPath$/python "$sourceFile$"</runCmd>
|
<runCmd>$compilerPath$/python "$sourceFile$"</runCmd>
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,26 @@
|
||||||
#update config.properties
|
#update config.properties
|
||||||
#Wed May 08 22:08:03 CST 2024
|
#Mon Feb 10 21:10:14 GMT+08:00 2025
|
||||||
srcDir=G\:\\org\\JuderUI\\test
|
=\=\=\=\=\=\=
|
||||||
isCppRelative=true
|
<<<<<<<=.mine
|
||||||
relativeJavaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin
|
>>>>>>>=.r76
|
||||||
|
Debug=1
|
||||||
|
JavaCompileDir=C\:\\Program Files\\Java\\jdk1.8.0_121\\bin
|
||||||
|
JavaRelative=3
|
||||||
|
MinGWDir=C\:\\MinGW\\bin
|
||||||
|
MinGWRelative=3
|
||||||
|
StartThreadAuto=false
|
||||||
|
ThreadNumber=1
|
||||||
|
URLaddress=10.202.40.190
|
||||||
Username=felix
|
Username=felix
|
||||||
cCompilerDir=C\:\\\u65B0\u5EFA\u6587\u4EF6\u5939
|
cCompilerDir=C\:\\\u65B0\u5EFA\u6587\u4EF6\u5939
|
||||||
ThreadNumber=1
|
cppCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin
|
||||||
|
distributorIP=106.15.36.190
|
||||||
distributorPort=8080
|
distributorPort=8080
|
||||||
exeDir=G\:\\org\\JuderUI\\TMP
|
exeDir=G\:\\org\\JuderUI\\TMP
|
||||||
MinGWDir=C\:\\MinGW\\bin
|
isCppRelative=true
|
||||||
relativeCCompilerDir=\\MinGW\\bin
|
|
||||||
distributorIP=192.168.5.1
|
|
||||||
JavaRelative=3
|
|
||||||
>>>>>>>=.r76
|
|
||||||
isJavaRelative=true
|
isJavaRelative=true
|
||||||
<<<<<<<=.mine
|
|
||||||
MinGWRelative=3
|
|
||||||
relativeCppCompilerDir=\\MinGW\\bin
|
|
||||||
javaCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin
|
javaCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin
|
||||||
JavaCompileDir=C\:\\Program Files\\Java\\jdk1.8.0_121\\bin
|
relativeCCompilerDir=\\MinGW\\bin
|
||||||
Debug=1
|
relativeCppCompilerDir=\\MinGW\\bin
|
||||||
URLaddress=10.202.40.190
|
relativeJavaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin
|
||||||
StartThreadAuto=false
|
srcDir=G\:\\org\\JuderUI\\test
|
||||||
=\=\=\=\=\=\=
|
|
||||||
cppCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin
|
|
||||||
|
|
|
||||||
BIN
JuderUI/dist.zip
BIN
JuderUI/dist.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,2 @@
|
||||||
|
2024-07-08 19:56:54[INFO]اًا<D98B>dubbo<62><6F>خّ
|
||||||
|
2024-07-08 19:57:19[INFO]اًا<D98B>dubbo<62><6F>خّ
|
||||||
|
|
@ -0,0 +1,147 @@
|
||||||
|
2024-07-16 13:07:29[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:35[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:35[ERROR]null
|
||||||
|
2024-07-16 13:07:35[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:37[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:37[ERROR]null
|
||||||
|
2024-07-16 13:07:37[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:39[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:39[ERROR]null
|
||||||
|
2024-07-16 13:07:39[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:41[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:41[ERROR]null
|
||||||
|
2024-07-16 13:07:41[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:43[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:43[ERROR]null
|
||||||
|
2024-07-16 13:07:43[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:45[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:45[ERROR]null
|
||||||
|
2024-07-16 13:07:45[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:47[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:47[ERROR]null
|
||||||
|
2024-07-16 13:07:47[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:49[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:49[ERROR]null
|
||||||
|
2024-07-16 13:07:49[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:07:51[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:07:51[ERROR]null
|
||||||
|
2024-07-16 13:09:58[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:10:04[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:10:04[ERROR]null
|
||||||
|
2024-07-16 13:10:04[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:10:06[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:10:06[ERROR]null
|
||||||
|
2024-07-16 13:10:06[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:10:08[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:10:08[ERROR]null
|
||||||
|
2024-07-16 13:10:08[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:10:10[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:10:10[ERROR]null
|
||||||
|
2024-07-16 13:12:46[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:12:53[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:12:53[ERROR]null
|
||||||
|
2024-07-16 13:12:53[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:12:55[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:12:55[ERROR]null
|
||||||
|
2024-07-16 13:12:55[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:12:57[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:12:57[ERROR]null
|
||||||
|
2024-07-16 13:12:57[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:12:59[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:12:59[ERROR]null
|
||||||
|
2024-07-16 13:12:59[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:13:01[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:13:01[ERROR]null
|
||||||
|
2024-07-16 13:13:01[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:13:03[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:13:03[ERROR]null
|
||||||
|
2024-07-16 13:13:03[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:13:05[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:13:05[ERROR]null
|
||||||
|
2024-07-16 13:13:05[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:13:07[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:13:07[ERROR]null
|
||||||
|
2024-07-16 13:13:07[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:13:09[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:13:09[ERROR]null
|
||||||
|
2024-07-16 13:13:09[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:13:11[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:13:11[ERROR]null
|
||||||
|
2024-07-16 13:13:11[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:13:13[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:13:13[ERROR]null
|
||||||
|
2024-07-16 13:15:12[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:15:18[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:15:18[ERROR]null
|
||||||
|
2024-07-16 13:15:18[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:15:20[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:15:20[ERROR]null
|
||||||
|
2024-07-16 13:15:20[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:15:22[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:15:22[ERROR]null
|
||||||
|
2024-07-16 13:15:22[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:15:24[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:15:24[ERROR]null
|
||||||
|
2024-07-16 13:15:24[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:15:26[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:15:26[ERROR]null
|
||||||
|
2024-07-16 13:15:26[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:15:28[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:15:28[ERROR]null
|
||||||
|
2024-07-16 13:17:00[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:06[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:06[ERROR]null
|
||||||
|
2024-07-16 13:17:06[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:08[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:08[ERROR]null
|
||||||
|
2024-07-16 13:17:08[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:10[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:10[ERROR]null
|
||||||
|
2024-07-16 13:17:10[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:12[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:12[ERROR]null
|
||||||
|
2024-07-16 13:17:12[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:14[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:14[ERROR]null
|
||||||
|
2024-07-16 13:17:14[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:16[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:16[ERROR]null
|
||||||
|
2024-07-16 13:17:16[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:18[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:18[ERROR]null
|
||||||
|
2024-07-16 13:17:18[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:21[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:21[ERROR]null
|
||||||
|
2024-07-16 13:17:21[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:17:23[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:17:23[ERROR]null
|
||||||
|
2024-07-16 13:21:55[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:01[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:01[ERROR]null
|
||||||
|
2024-07-16 13:22:01[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:03[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:03[ERROR]null
|
||||||
|
2024-07-16 13:22:03[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:05[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:05[ERROR]null
|
||||||
|
2024-07-16 13:22:05[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:07[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:07[ERROR]null
|
||||||
|
2024-07-16 13:22:07[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:09[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:09[ERROR]null
|
||||||
|
2024-07-16 13:22:09[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:11[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:11[ERROR]null
|
||||||
|
2024-07-16 13:22:11[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:14[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:14[ERROR]null
|
||||||
|
2024-07-16 13:22:14[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:16[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:16[ERROR]null
|
||||||
|
2024-07-16 13:22:16[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:18[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:18[ERROR]null
|
||||||
|
2024-07-16 13:22:18[INFO]ÇëÇódubbo·þÎñ
|
||||||
|
2024-07-16 13:22:20[ERROR]ÇëÇódubbo·þÎñʧ°Ü
|
||||||
|
2024-07-16 13:22:20[ERROR]null
|
||||||
|
|
@ -0,0 +1,559 @@
|
||||||
|
2024-07-31 13:11:12[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:12[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:11:12[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:12[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:12[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:12[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:11:12[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:11:19[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:11:19[ERROR]null
|
||||||
|
2024-07-31 13:11:19[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:11:19[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:11:19[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:19[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:11:19[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:19[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:11:19[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:19[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:19[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:11:19[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:11:21[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:11:21[ERROR]null
|
||||||
|
2024-07-31 13:11:21[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:11:23[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:11:23[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:11:23[ERROR]null
|
||||||
|
2024-07-31 13:11:25[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:11:25[ERROR]null
|
||||||
|
2024-07-31 13:11:54[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:54[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:11:54[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:54[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:54[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:11:54[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:11:55[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:02[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:02[ERROR]null
|
||||||
|
2024-07-31 13:12:02[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:03[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:12:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:03[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:12:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:03[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:12:03[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:03[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:12:04[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:04[ERROR]null
|
||||||
|
2024-07-31 13:12:04[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:06[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:06[ERROR]null
|
||||||
|
2024-07-31 13:12:06[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:08[ERROR]null
|
||||||
|
2024-07-31 13:12:08[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:10[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:10[ERROR]null
|
||||||
|
2024-07-31 13:12:10[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:12[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:12[ERROR]null
|
||||||
|
2024-07-31 13:12:12[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:13[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:12:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:13[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:12:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:13[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:12:13[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:13[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:12:14[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:14[ERROR]null
|
||||||
|
2024-07-31 13:12:14[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:16[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:16[ERROR]null
|
||||||
|
2024-07-31 13:12:16[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:18[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:18[ERROR]null
|
||||||
|
2024-07-31 13:12:18[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:18[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:12:20[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:20[ERROR]null
|
||||||
|
2024-07-31 13:12:22[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:22[ERROR]null
|
||||||
|
2024-07-31 13:12:23[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:12:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:23[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:12:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:23[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:12:23[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:12:23[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:24[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:24[ERROR]null
|
||||||
|
2024-07-31 13:12:24[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:26[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:26[ERROR]null
|
||||||
|
2024-07-31 13:12:26[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:28[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:28[ERROR]null
|
||||||
|
2024-07-31 13:12:28[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:30[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:30[ERROR]null
|
||||||
|
2024-07-31 13:12:30[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:32[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:32[ERROR]null
|
||||||
|
2024-07-31 13:12:32[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:33[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:12:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:33[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:12:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:33[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:12:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:33[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:33[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:12:34[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:34[ERROR]null
|
||||||
|
2024-07-31 13:12:35[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:37[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:37[ERROR]null
|
||||||
|
2024-07-31 13:12:37[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:39[ERROR]null
|
||||||
|
2024-07-31 13:12:39[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:41[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:41[ERROR]null
|
||||||
|
2024-07-31 13:12:41[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:43[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:43[ERROR]null
|
||||||
|
2024-07-31 13:12:43[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:43[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:12:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:43[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:12:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:43[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:12:43[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:12:43[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:43[ERROR]null
|
||||||
|
2024-07-31 13:12:43[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:45[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:45[ERROR]null
|
||||||
|
2024-07-31 13:12:45[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:47[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:47[ERROR]null
|
||||||
|
2024-07-31 13:12:47[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:49[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:49[ERROR]null
|
||||||
|
2024-07-31 13:12:49[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:51[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:51[ERROR]null
|
||||||
|
2024-07-31 13:12:51[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:53[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:53[ERROR]null
|
||||||
|
2024-07-31 13:12:53[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:53[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:12:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:53[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:12:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:12:53[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:12:53[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:12:53[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:55[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:55[ERROR]null
|
||||||
|
2024-07-31 13:12:55[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:57[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:57[ERROR]null
|
||||||
|
2024-07-31 13:12:57[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:12:59[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:12:59[ERROR]null
|
||||||
|
2024-07-31 13:12:59[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:01[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:01[ERROR]null
|
||||||
|
2024-07-31 13:13:01[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:03[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:03[ERROR]null
|
||||||
|
2024-07-31 13:13:03[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:03[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:13:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:03[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:03[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:03[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:03[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:13:05[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:05[ERROR]null
|
||||||
|
2024-07-31 13:13:05[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:07[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:07[ERROR]null
|
||||||
|
2024-07-31 13:13:07[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:09[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:09[ERROR]null
|
||||||
|
2024-07-31 13:13:09[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:11[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:11[ERROR]null
|
||||||
|
2024-07-31 13:13:11[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:13[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:13[ERROR]null
|
||||||
|
2024-07-31 13:13:13[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:13[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:13:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:13[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:13[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:13[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:13:13[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:15[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:15[ERROR]null
|
||||||
|
2024-07-31 13:13:15[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:17[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:17[ERROR]null
|
||||||
|
2024-07-31 13:13:17[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:19[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:19[ERROR]null
|
||||||
|
2024-07-31 13:13:19[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:21[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:21[ERROR]null
|
||||||
|
2024-07-31 13:13:21[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:23[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:13:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:23[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:23[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:23[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:23[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:13:23[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:23[ERROR]null
|
||||||
|
2024-07-31 13:13:23[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:25[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:25[ERROR]null
|
||||||
|
2024-07-31 13:13:25[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:28[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:28[ERROR]null
|
||||||
|
2024-07-31 13:13:28[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:30[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:30[ERROR]null
|
||||||
|
2024-07-31 13:13:30[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:32[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:32[ERROR]null
|
||||||
|
2024-07-31 13:13:32[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:33[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:13:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:33[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:33[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:33[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:13:33[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:34[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:34[ERROR]null
|
||||||
|
2024-07-31 13:13:34[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:36[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:36[ERROR]null
|
||||||
|
2024-07-31 13:13:36[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:38[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:38[ERROR]null
|
||||||
|
2024-07-31 13:13:38[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:40[ERROR]null
|
||||||
|
2024-07-31 13:13:40[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:42[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:42[ERROR]null
|
||||||
|
2024-07-31 13:13:42[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:43[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:13:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:43[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:43[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:43[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:43[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:13:44[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:44[ERROR]null
|
||||||
|
2024-07-31 13:13:44[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:46[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:46[ERROR]null
|
||||||
|
2024-07-31 13:13:46[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:48[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:48[ERROR]null
|
||||||
|
2024-07-31 13:13:48[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:49[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:49[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:50[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:50[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:50[ERROR]null
|
||||||
|
2024-07-31 13:13:50[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:52[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:52[ERROR]null
|
||||||
|
2024-07-31 13:13:52[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:53[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:13:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:53[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:53[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:53[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:53[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:53[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:13:54[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:54[ERROR]null
|
||||||
|
2024-07-31 13:13:54[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:56[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:56[ERROR]null
|
||||||
|
2024-07-31 13:13:56[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:56[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:56[ERROR]null
|
||||||
|
2024-07-31 13:13:56[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:57[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:13:57[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:57[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:13:57[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:57[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:57[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:13:57[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:13:57[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:57[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:13:58[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:58[ERROR]null
|
||||||
|
2024-07-31 13:13:58[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:13:58[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:13:58[ERROR]null
|
||||||
|
2024-07-31 13:13:58[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:00[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:00[ERROR]null
|
||||||
|
2024-07-31 13:14:00[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:00[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:00[ERROR]null
|
||||||
|
2024-07-31 13:14:00[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:02[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:02[ERROR]null
|
||||||
|
2024-07-31 13:14:02[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:03[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:03[ERROR]null
|
||||||
|
2024-07-31 13:14:03[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:03[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:03[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:03[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:03[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:03[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:03[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:04[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:04[ERROR]null
|
||||||
|
2024-07-31 13:14:04[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:05[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:05[ERROR]null
|
||||||
|
2024-07-31 13:14:05[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:05[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:06[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:06[ERROR]null
|
||||||
|
2024-07-31 13:14:06[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:07[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:07[ERROR]null
|
||||||
|
2024-07-31 13:14:07[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:07[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:07[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:07[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:07[ERROR]null
|
||||||
|
2024-07-31 13:14:07[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:07[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:08[ERROR]null
|
||||||
|
2024-07-31 13:14:09[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:09[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:09[ERROR]null
|
||||||
|
2024-07-31 13:14:09[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:11[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:11[ERROR]null
|
||||||
|
2024-07-31 13:14:11[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:11[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:11[ERROR]null
|
||||||
|
2024-07-31 13:14:11[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:13[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:13[ERROR]null
|
||||||
|
2024-07-31 13:14:13[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:13[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:13[ERROR]null
|
||||||
|
2024-07-31 13:14:13[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:13[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:13[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:13[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:13[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:13[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:13[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:15[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:15[ERROR]null
|
||||||
|
2024-07-31 13:14:15[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:15[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:15[ERROR]null
|
||||||
|
2024-07-31 13:14:15[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:17[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:17[ERROR]null
|
||||||
|
2024-07-31 13:14:17[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:17[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:17[ERROR]null
|
||||||
|
2024-07-31 13:14:17[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:17[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:17[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:17[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:17[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:17[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:19[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:19[ERROR]null
|
||||||
|
2024-07-31 13:14:19[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:19[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:19[ERROR]null
|
||||||
|
2024-07-31 13:14:19[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:21[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:21[ERROR]null
|
||||||
|
2024-07-31 13:14:21[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:21[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:21[ERROR]null
|
||||||
|
2024-07-31 13:14:21[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:23[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:23[ERROR]null
|
||||||
|
2024-07-31 13:14:23[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:23[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:23[ERROR]null
|
||||||
|
2024-07-31 13:14:23[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:23[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:23[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:23[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:23[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:23[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:23[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:25[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:25[ERROR]null
|
||||||
|
2024-07-31 13:14:25[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:25[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:25[ERROR]null
|
||||||
|
2024-07-31 13:14:25[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:27[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:27[ERROR]null
|
||||||
|
2024-07-31 13:14:27[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:27[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:27[ERROR]null
|
||||||
|
2024-07-31 13:14:27[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:27[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:27[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:27[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:27[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:27[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:27[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:27[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:27[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:27[ERROR]null
|
||||||
|
2024-07-31 13:14:27[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:27[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:29[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:29[ERROR]null
|
||||||
|
2024-07-31 13:14:29[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:29[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:29[ERROR]null
|
||||||
|
2024-07-31 13:14:29[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:31[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:31[ERROR]null
|
||||||
|
2024-07-31 13:14:31[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:31[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:31[ERROR]null
|
||||||
|
2024-07-31 13:14:31[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:33[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:33[ERROR]null
|
||||||
|
2024-07-31 13:14:33[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:33[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:33[ERROR]null
|
||||||
|
2024-07-31 13:14:33[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:33[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:33[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:33[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:33[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:33[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:33[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:35[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:35[ERROR]null
|
||||||
|
2024-07-31 13:14:35[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:35[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:35[ERROR]null
|
||||||
|
2024-07-31 13:14:35[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:37[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:37[ERROR]null
|
||||||
|
2024-07-31 13:14:37[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:37[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:37[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:37[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:37[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:37[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:37[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:37[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:37[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:37[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:37[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:37[ERROR]null
|
||||||
|
2024-07-31 13:14:37[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:39[ERROR]null
|
||||||
|
2024-07-31 13:14:39[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:39[ERROR]null
|
||||||
|
2024-07-31 13:14:39[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:41[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:41[ERROR]null
|
||||||
|
2024-07-31 13:14:41[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:41[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:41[ERROR]null
|
||||||
|
2024-07-31 13:14:41[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:43[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:43[ERROR]null
|
||||||
|
2024-07-31 13:14:43[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:43[INFO]线程已关闭,总数:5
|
||||||
|
2024-07-31 13:14:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:43[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-07-31 13:14:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:43[INFO]managerThreadCounts:a=1
|
||||||
|
2024-07-31 13:14:43[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-07-31 13:14:43[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:43[INFO]裁判机线程已自动刷新!
|
||||||
|
2024-07-31 13:14:43[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:43[ERROR]null
|
||||||
|
2024-07-31 13:14:43[INFO]请求dubbo服务
|
||||||
|
2024-07-31 13:14:45[ERROR]请求dubbo服务失败
|
||||||
|
2024-07-31 13:14:45[ERROR]null
|
||||||
|
2024-07-31 13:14:45[INFO]请求dubbo服务
|
||||||
|
|
@ -0,0 +1,622 @@
|
||||||
|
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:18:41[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:18:41[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-08-26 23:18:42[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:19:35[INFO]线程已关闭,总数:5
|
||||||
|
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:39[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:39[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:20:40[INFO]线程已关闭,总数:5
|
||||||
|
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:49[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:20:49[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-08-26 23:20:49[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:28:47[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:28:47[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:28:51[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:28:51[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:28:51[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:28:55[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:28:55[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:28:55[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:28:59[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:28:59[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:28:59[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:00[INFO]线程已关闭,总数:5
|
||||||
|
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:07[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:07[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:07[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:07[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:07[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:07[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:07[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:07[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:07[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:07[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:07[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:08[INFO]线程已关闭,总数:5
|
||||||
|
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||||
|
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||||
|
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:17[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:17[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:29:17[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:29:20[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:29:20[ERROR]获取缓存出错:problemId927e:null
|
||||||
|
2024-08-26 23:29:20[INFO]已放入缓存problemId927
|
||||||
|
2024-08-26 23:29:20[INFO]已放入缓存problemId927
|
||||||
|
2024-08-26 23:29:20[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:29:20[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:29:20[ERROR]获取缓存出错:problemId926e:null
|
||||||
|
2024-08-26 23:29:20[INFO]已放入缓存problemId926
|
||||||
|
2024-08-26 23:29:20[INFO]已放入缓存problemId926
|
||||||
|
2024-08-26 23:29:20[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:29:20[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:29:20[ERROR]获取缓存出错:problemId758e:null
|
||||||
|
2024-08-26 23:29:20[INFO]已放入缓存problemId758
|
||||||
|
2024-08-26 23:29:20[INFO]已放入缓存problemId758
|
||||||
|
2024-08-26 23:29:20[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:33:06[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:33:06[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:33:06[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:33:06[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:33:07[INFO]线程已关闭,总数:5
|
||||||
|
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:34:11[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:34:11[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-08-26 23:34:11[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:34:14[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:34:14[ERROR]获取缓存出错:problemId758e:null
|
||||||
|
2024-08-26 23:34:14[INFO]已放入缓存problemId758
|
||||||
|
2024-08-26 23:34:14[INFO]已放入缓存problemId758
|
||||||
|
2024-08-26 23:34:14[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:35:59[INFO]线程已关闭,总数:5
|
||||||
|
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:37:04[INFO]JudgeFromQueue:threadNo=1
|
||||||
|
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||||
|
2024-08-26 23:37:04[INFO]JudgeFromQueue:线程1开始运行
|
||||||
|
2024-08-26 23:37:04[INFO]请求dubbo服务
|
||||||
|
2024-08-26 23:37:07[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:07[ERROR]获取缓存出错:problemId927e:null
|
||||||
|
2024-08-26 23:37:07[INFO]已放入缓存problemId927
|
||||||
|
2024-08-26 23:37:07[INFO]已放入缓存problemId927
|
||||||
|
2024-08-26 23:37:07[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:07[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:07[ERROR]获取缓存出错:problemId926e:null
|
||||||
|
2024-08-26 23:37:07[INFO]已放入缓存problemId926
|
||||||
|
2024-08-26 23:37:07[INFO]已放入缓存problemId926
|
||||||
|
2024-08-26 23:37:07[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:07[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:07[ERROR]获取缓存出错:problemId758e:null
|
||||||
|
2024-08-26 23:37:07[INFO]已放入缓存problemId758
|
||||||
|
2024-08-26 23:37:07[INFO]已放入缓存problemId758
|
||||||
|
2024-08-26 23:37:07[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:08[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:08[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:08[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:08[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:08[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:08[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:09[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:09[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:09[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:09[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:09[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:09[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:10[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:10[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:10[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:10[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:10[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:10[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:11[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:11[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:11[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:11[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:11[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:11[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:12[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:12[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:12[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:12[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:12[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:12[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:13[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:13[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:13[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:13[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:13[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||||
|
2024-08-26 23:37:13[ERROR]JudgeFromQueue:线程1错误null
|
||||||
|
2024-08-26 23:37:13[INFO]线程已关闭,总数:5
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,8 +1,8 @@
|
||||||
build.xml.data.CRC32=dfbf39b8
|
build.xml.data.CRC32=dfbf39b8
|
||||||
build.xml.script.CRC32=1513c9b5
|
build.xml.script.CRC32=1513c9b5
|
||||||
build.xml.stylesheet.CRC32=8064a381@1.79.1.48
|
build.xml.stylesheet.CRC32=f85dc8f2@1.113.0.48
|
||||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||||
nbproject/build-impl.xml.data.CRC32=dfbf39b8
|
nbproject/build-impl.xml.data.CRC32=dfbf39b8
|
||||||
nbproject/build-impl.xml.script.CRC32=659c39b3
|
nbproject/build-impl.xml.script.CRC32=e468727d
|
||||||
nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48
|
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.113.0.48
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,5 @@ do.depend=false
|
||||||
do.jar=true
|
do.jar=true
|
||||||
javac.debug=true
|
javac.debug=true
|
||||||
javadoc.preview=true
|
javadoc.preview=true
|
||||||
project.Judger=K:\\OJ\\Judger
|
project.Judger=D:\\oj\\Judger
|
||||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
|
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties
|
||||||
|
|
|
||||||
|
|
@ -22,15 +22,9 @@
|
||||||
<file>file:/E:/ojNew/JuderUI/src/data/MainForNet.java</file>
|
<file>file:/E:/ojNew/JuderUI/src/data/MainForNet.java</file>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<file>file:/K:/OJ/JuderUI/src/myjdom/model/ResultBean.java</file>
|
<file>file:/D:/oj/JuderUI/src/web/Webservice.java</file>
|
||||||
<file>file:/K:/OJ/JuderUI/src/data/MainForNet.java</file>
|
<file>file:/D:/oj/JuderUI/nbproject/build-impl.xml</file>
|
||||||
<file>file:/K:/OJ/JuderUI/src/myjdom/AnswerToXml.java</file>
|
<file>file:/D:/oj/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetailResponse.java</file>
|
||||||
<file>file:/K:/OJ/JuderUI/src/data/JudgeFromQueue.java</file>
|
|
||||||
<file>file:/K:/OJ/JuderUI/src/web/Dubboservice.java</file>
|
|
||||||
<file>file:/K:/OJ/JuderUI/src/web/Webservice.java</file>
|
|
||||||
<file>file:/K:/OJ/JuderUI/src/swingworker/MySwingWorker.java</file>
|
|
||||||
<file>file:/K:/OJ/JuderUI/src/gui/Control.java</file>
|
|
||||||
<file>file:/K:/OJ/JuderUI/src/gui/MainFrame.java</file>
|
|
||||||
</group>
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||||
|
<properties>
|
||||||
|
<entry key="2_profiler.settings.code.region.cpu.res.buf.size">1000</entry>
|
||||||
|
<entry key="2_profiler.settings.sort.results.by.thread.cpu.time">false</entry>
|
||||||
|
<entry key="0_profiler.settings.instrumentation.filter.selectedprofiler.filter.type">profiler.simple.filter</entry>
|
||||||
|
<entry key="0_profiler.settings.instrument.empty.methods">false</entry>
|
||||||
|
<entry key="0_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.name"/>
|
||||||
|
<entry key="1_profiler.settings.profiling.type">64</entry>
|
||||||
|
<entry key="0_profiler.settings.cpu.exclude.wait.time">true</entry>
|
||||||
|
<entry key="0_profiler.settings.override.working.dir"/>
|
||||||
|
<entry key="2_profiler.settings.cpu.sampling.frequency">10</entry>
|
||||||
|
<entry key="0_profiler.settings.lockcontention.monitoring.enabled">false</entry>
|
||||||
|
<entry key="1_profiler.settings.thread.cpu.timer.on">true</entry>
|
||||||
|
<entry key="1_profiler.settings.instrumentation.root.methods.size">0</entry>
|
||||||
|
<entry key="2_profiler.settings.override">false</entry>
|
||||||
|
<entry key="1_profiler.settings.threads.sampling.enabled">true</entry>
|
||||||
|
<entry key="profiler.settings.lastselected">2</entry>
|
||||||
|
<entry key="2_profiler.settings.instrument.spawned.threads">false</entry>
|
||||||
|
<entry key="0_profiler.settings.threads.monitoring.enabled">false</entry>
|
||||||
|
<entry key="0_profiler.settings.istrument.getter.setter.methods">false</entry>
|
||||||
|
<entry key="2_profiler.settings.instrumentation.filter.selectedprofiler.filter.type">profiler.simple.filter</entry>
|
||||||
|
<entry key="2_profiler.settings.n.profiled.threads.limit">32</entry>
|
||||||
|
<entry key="1_profiler.settings.sort.results.by.thread.cpu.time">false</entry>
|
||||||
|
<entry key="2_profiler.settings.instr.scheme">1</entry>
|
||||||
|
<entry key="1_profiler.settings.instrument.method.invoke">true</entry>
|
||||||
|
<entry key="1_profiler.settings.instr.scheme">1</entry>
|
||||||
|
<entry key="2_profiler.settings.sampling.interval">10</entry>
|
||||||
|
<entry key="0_profiler.settings.instr.scheme">1</entry>
|
||||||
|
<entry key="1_profiler.settings.run.gc.on.get.results.in.memory.profiling">true</entry>
|
||||||
|
<entry key="2_profiler.settings.settings.name">分析内存</entry>
|
||||||
|
<entry key="0_profiler.settings.sort.results.by.thread.cpu.time">false</entry>
|
||||||
|
<entry key="1_profiler.settings.cpu.sampling.frequency">10</entry>
|
||||||
|
<entry key="0_profiler.settings.profiling.type">1</entry>
|
||||||
|
<entry key="1_profiler.settings.cpu.exclude.wait.time">true</entry>
|
||||||
|
<entry key="2_profiler.settings.obj.alloc.stack.sampling.interval">10</entry>
|
||||||
|
<entry key="1_profiler.settings.obj.alloc.stack.sampling.depth">0</entry>
|
||||||
|
<entry key="1_profiler.settings.cpu.quick.filterprofiler.filter.type">profiler.simple.filter</entry>
|
||||||
|
<entry key="1_profiler.settings.instrumentation.marker.methods.size">0</entry>
|
||||||
|
<entry key="2_profiler.settings.thread.cpu.timer.on">false</entry>
|
||||||
|
<entry key="0_profiler.settigns.ispreset">true</entry>
|
||||||
|
<entry key="0_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.value"/>
|
||||||
|
<entry key="2_profiler.settings.override.working.dir"/>
|
||||||
|
<entry key="0_profiler.settings.cpu.quick.filterprofiler.simple.filter.type">1</entry>
|
||||||
|
<entry key="0_profiler.settings.threads.sampling.enabled">true</entry>
|
||||||
|
<entry key="2_profiler.settings.cpu.quick.filterprofiler.simple.filter.value"/>
|
||||||
|
<entry key="2_profiler.settings.override.jvm.args"/>
|
||||||
|
<entry key="0_profiler.settings.profile.underlying.framework">false</entry>
|
||||||
|
<entry key="0_profiler.settings.cpu.sampling.frequency">10</entry>
|
||||||
|
<entry key="2_profiler.settings.profile.underlying.framework">false</entry>
|
||||||
|
<entry key="2_profiler.settings.cpu.exclude.wait.time">true</entry>
|
||||||
|
<entry key="2_profiler.settings.threads.monitoring.enabled">false</entry>
|
||||||
|
<entry key="1_profiler.settings.instrument.spawned.threads">false</entry>
|
||||||
|
<entry key="1_profiler.settings.n.profiled.threads.limit">32</entry>
|
||||||
|
<entry key="0_profiler.settings.cpu.quick.filterprofiler.simple.filter.name">快速过滤器...</entry>
|
||||||
|
<entry key="1_profiler.settings.lockcontention.monitoring.enabled">false</entry>
|
||||||
|
<entry key="2_profiler.settings.instrumentation.root.methods.size">0</entry>
|
||||||
|
<entry key="2_profiler.settings.instrument.empty.methods">false</entry>
|
||||||
|
<entry key="2_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.type">0</entry>
|
||||||
|
<entry key="1_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.value"/>
|
||||||
|
<entry key="1_profiler.settings.sampling.interval">10</entry>
|
||||||
|
<entry key="2_profiler.settings.cpu.profiling.type">0</entry>
|
||||||
|
<entry key="0_profiler.settings.run.gc.on.get.results.in.memory.profiling">true</entry>
|
||||||
|
<entry key="1_profiler.settigns.ispreset">true</entry>
|
||||||
|
<entry key="2_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.name"/>
|
||||||
|
<entry key="0_profiler.settings.instrument.method.invoke">true</entry>
|
||||||
|
<entry key="0_profiler.settings.obj.alloc.stack.sampling.interval">10</entry>
|
||||||
|
<entry key="1_profiler.settings.cpu.quick.filterprofiler.simple.filter.value"/>
|
||||||
|
<entry key="1_profiler.settings.code.region.cpu.res.buf.size">1000</entry>
|
||||||
|
<entry key="0_profiler.settings.instrumentation.marker.methods.size">0</entry>
|
||||||
|
<entry key="1_profiler.settings.instrumentation.filter.selectedprofiler.filter.type">profiler.simple.filter</entry>
|
||||||
|
<entry key="0_profiler.settings.override">false</entry>
|
||||||
|
<entry key="1_profiler.settings.settings.name">分析性能</entry>
|
||||||
|
<entry key="2_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.value"/>
|
||||||
|
<entry key="1_profiler.settings.cpu.quick.filterprofiler.simple.filter.type">1</entry>
|
||||||
|
<entry key="1_profiler.settings.cpu.profiling.type">2</entry>
|
||||||
|
<entry key="1_profiler.settings.override.jvm.args"/>
|
||||||
|
<entry key="2_profiler.settings.obj.alloc.stack.sampling.depth">-10</entry>
|
||||||
|
<entry key="1_profiler.settings.instrument.empty.methods">false</entry>
|
||||||
|
<entry key="0_profiler.settings.cpu.quick.filterprofiler.filter.type">profiler.simple.filter</entry>
|
||||||
|
<entry key="1_profiler.settings.cpu.quick.filterprofiler.simple.filter.name">快速过滤器...</entry>
|
||||||
|
<entry key="2_profiler.settigns.ispreset">true</entry>
|
||||||
|
<entry key="1_profiler.settings.threads.monitoring.enabled">false</entry>
|
||||||
|
<entry key="0_profiler.settings.instrumentation.root.methods.size">0</entry>
|
||||||
|
<entry key="2_profiler.settings.threads.sampling.enabled">true</entry>
|
||||||
|
<entry key="1_profiler.settings.override.working.dir"/>
|
||||||
|
<entry key="1_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.type">2</entry>
|
||||||
|
<entry key="2_profiler.settings.lockcontention.monitoring.enabled">false</entry>
|
||||||
|
<entry key="0_profiler.settings.n.profiled.threads.limit">32</entry>
|
||||||
|
<entry key="0_profiler.settings.cpu.quick.filterprofiler.simple.filter.value"/>
|
||||||
|
<entry key="0_profiler.settings.cpu.profiling.type">0</entry>
|
||||||
|
<entry key="0_profiler.settings.instrument.spawned.threads">false</entry>
|
||||||
|
<entry key="1_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.name">只分析项目类</entry>
|
||||||
|
<entry key="2_profiler.settings.instrumentation.marker.methods.size">0</entry>
|
||||||
|
<entry key="0_profiler.settings.obj.alloc.stack.sampling.depth">0</entry>
|
||||||
|
<entry key="2_profiler.settings.cpu.quick.filterprofiler.filter.type">profiler.simple.filter</entry>
|
||||||
|
<entry key="0_profiler.settings.profilingpoints.enabled">true</entry>
|
||||||
|
<entry key="2_profiler.settings.cpu.quick.filterprofiler.simple.filter.type">1</entry>
|
||||||
|
<entry key="1_profiler.settings.obj.alloc.stack.sampling.interval">10</entry>
|
||||||
|
<entry key="1_profiler.settings.override">false</entry>
|
||||||
|
<entry key="2_profiler.settings.istrument.getter.setter.methods">false</entry>
|
||||||
|
<entry key="0_profiler.settings.sampling.interval">10</entry>
|
||||||
|
<entry key="1_profiler.settings.profile.underlying.framework">false</entry>
|
||||||
|
<entry key="2_profiler.settings.instrument.method.invoke">true</entry>
|
||||||
|
<entry key="1_profiler.settings.profilingpoints.enabled">false</entry>
|
||||||
|
<entry key="1_profiler.settings.istrument.getter.setter.methods">false</entry>
|
||||||
|
<entry key="2_profiler.settings.cpu.quick.filterprofiler.simple.filter.name">快速过滤器...</entry>
|
||||||
|
<entry key="0_profiler.settings.instrumentation.filter.selectedprofiler.simple.filter.type">0</entry>
|
||||||
|
<entry key="0_profiler.settings.thread.cpu.timer.on">false</entry>
|
||||||
|
<entry key="0_profiler.settings.override.jvm.args"/>
|
||||||
|
<entry key="2_profiler.settings.profiling.type">4</entry>
|
||||||
|
<entry key="0_profiler.settings.settings.name">监视应用程序</entry>
|
||||||
|
<entry key="0_profiler.settings.code.region.cpu.res.buf.size">1000</entry>
|
||||||
|
<entry key="2_profiler.settings.profilingpoints.enabled">true</entry>
|
||||||
|
<entry key="2_profiler.settings.run.gc.on.get.results.in.memory.profiling">true</entry>
|
||||||
|
</properties>
|
||||||
|
|
@ -5,6 +5,7 @@ annotation.processing.run.all.processors=true
|
||||||
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
||||||
application.title=JuderUI
|
application.title=JuderUI
|
||||||
application.vendor=\u6bdb\u6cc9
|
application.vendor=\u6bdb\u6cc9
|
||||||
|
auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
|
||||||
build.classes.dir=${build.dir}/classes
|
build.classes.dir=${build.dir}/classes
|
||||||
build.classes.excludes=**/*.java,**/*.form
|
build.classes.excludes=**/*.java,**/*.form
|
||||||
# This directory is removed when the project is cleaned:
|
# This directory is removed when the project is cleaned:
|
||||||
|
|
@ -19,8 +20,12 @@ build.test.results.dir=${build.dir}/test/results
|
||||||
#debug.transport=dt_socket
|
#debug.transport=dt_socket
|
||||||
debug.classpath=\
|
debug.classpath=\
|
||||||
${run.classpath}
|
${run.classpath}
|
||||||
|
debug.modulepath=\
|
||||||
|
${run.modulepath}
|
||||||
debug.test.classpath=\
|
debug.test.classpath=\
|
||||||
${run.test.classpath}
|
${run.test.classpath}
|
||||||
|
debug.test.modulepath=\
|
||||||
|
${run.test.modulepath}
|
||||||
# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6
|
# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6
|
||||||
dist.archive.excludes=
|
dist.archive.excludes=
|
||||||
# This directory is removed when the project is cleaned:
|
# This directory is removed when the project is cleaned:
|
||||||
|
|
@ -136,6 +141,8 @@ javac.classpath=\
|
||||||
javac.compilerargs=
|
javac.compilerargs=
|
||||||
javac.deprecation=false
|
javac.deprecation=false
|
||||||
javac.external.vm=true
|
javac.external.vm=true
|
||||||
|
javac.modulepath=
|
||||||
|
javac.processormodulepath=
|
||||||
javac.processorpath=\
|
javac.processorpath=\
|
||||||
${javac.classpath}
|
${javac.classpath}
|
||||||
javac.source=1.8
|
javac.source=1.8
|
||||||
|
|
@ -143,6 +150,8 @@ javac.target=1.8
|
||||||
javac.test.classpath=\
|
javac.test.classpath=\
|
||||||
${javac.classpath}:\
|
${javac.classpath}:\
|
||||||
${build.classes.dir}
|
${build.classes.dir}
|
||||||
|
javac.test.modulepath=\
|
||||||
|
${javac.modulepath}
|
||||||
javac.test.processorpath=\
|
javac.test.processorpath=\
|
||||||
${javac.test.classpath}
|
${javac.test.classpath}
|
||||||
javadoc.additionalparam=
|
javadoc.additionalparam=
|
||||||
|
|
@ -184,9 +193,13 @@ run.classpath=\
|
||||||
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
|
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
|
||||||
# To set system properties for unit tests define test-sys-prop.name=value:
|
# To set system properties for unit tests define test-sys-prop.name=value:
|
||||||
run.jvmargs=
|
run.jvmargs=
|
||||||
|
run.modulepath=\
|
||||||
|
${javac.modulepath}
|
||||||
run.test.classpath=\
|
run.test.classpath=\
|
||||||
${javac.test.classpath}:\
|
${javac.test.classpath}:\
|
||||||
${build.test.classes.dir}
|
${build.test.classes.dir}
|
||||||
|
run.test.modulepath=\
|
||||||
|
${javac.test.modulepath}
|
||||||
source.encoding=GBK
|
source.encoding=GBK
|
||||||
src.dir=src
|
src.dir=src
|
||||||
test.src.dir=test
|
test.src.dir=test
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
"%JAVA_HOME%\bin\javaw" -jar .\dist\JuderUI.jar
|
"C:\Program Files\Java\jre1.8.0_421\bin\javaw" -jar .\dist\JuderUI.jar
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package cache;
|
package cache;
|
||||||
|
|
||||||
|
import common.LogLevel;
|
||||||
|
import common.Logger;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
@ -9,7 +11,7 @@ public class ProblemsCachManager {
|
||||||
private BaseCache cache;
|
private BaseCache cache;
|
||||||
private static ProblemsCachManager instance;
|
private static ProblemsCachManager instance;
|
||||||
private static Object lock = new Object();
|
private static Object lock = new Object();
|
||||||
|
private static Logger logger=Logger.getInstance();
|
||||||
private ProblemsCachManager() {
|
private ProblemsCachManager() {
|
||||||
// 这个根据配置文件来,初始BaseCache而已;
|
// 这个根据配置文件来,初始BaseCache而已;
|
||||||
Properties prop = new Properties();
|
Properties prop = new Properties();
|
||||||
|
|
@ -36,10 +38,12 @@ public class ProblemsCachManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void putObject(String key, Object value) { // key以classId_examId
|
public void putObject(String key, Object value) { // key以classId_examId
|
||||||
|
logger.log("已放入缓存"+key, LogLevel.INFO);
|
||||||
cache.put(key, value);
|
cache.put(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeObject(String key) {
|
public void removeObject(String key) {
|
||||||
|
logger.log("已移除缓存"+key, LogLevel.INFO);
|
||||||
cache.remove(key);
|
cache.remove(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -52,6 +56,7 @@ public class ProblemsCachManager {
|
||||||
// 从Cache中获得
|
// 从Cache中获得
|
||||||
return cache.get(key);
|
return cache.get(key);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
logger.log("获取缓存出错:"+key+"e:"+e.getMessage(), LogLevel.ERROR);
|
||||||
// Cache中没有则从DB库获取
|
// Cache中没有则从DB库获取
|
||||||
// 数据库中读取数据
|
// 数据库中读取数据
|
||||||
// 把获取的对象再次存入Cache中
|
// 把获取的对象再次存入Cache中
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ package data;
|
||||||
|
|
||||||
import cache.ProblemsCachManager;
|
import cache.ProblemsCachManager;
|
||||||
import common.Const;
|
import common.Const;
|
||||||
|
import common.LogLevel;
|
||||||
import gui.Control;
|
import gui.Control;
|
||||||
import java.awt.EventQueue;
|
import java.awt.EventQueue;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -41,18 +42,22 @@ public class JudgeFromQueue extends Thread {
|
||||||
public Queue<Solution> queue = null;
|
public Queue<Solution> queue = null;
|
||||||
private Solutions solutions;
|
private Solutions solutions;
|
||||||
private List<ProblemTestCaseBean> testCaseBeans = null;
|
private List<ProblemTestCaseBean> testCaseBeans = null;
|
||||||
private Map<String, ProblemBean> problemBeanMap = null;
|
public Map<String, ProblemBean> problemBeanMap = null;//用来存放题目信息的map
|
||||||
private Lock lock;
|
private Lock lock;
|
||||||
private int threadNo;
|
private int threadNo;
|
||||||
common.Logger logger;
|
common.Logger logger;
|
||||||
public JudgeFromQueue(int threadNo) {
|
public JudgeFromQueue(int threadNo) {
|
||||||
|
|
||||||
logger = common.Logger.getInstance();
|
logger = common.Logger.getInstance();
|
||||||
|
logger.log("JudgeFromQueue:threadNo="+String.valueOf(threadNo), LogLevel.INFO);
|
||||||
this.threadNo = threadNo;
|
this.threadNo = threadNo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
logger.log("JudgeFromQueue:线程"+String.valueOf(this.threadNo)+"开始运行", LogLevel.INFO);
|
||||||
while (Control.threadCountsManager[threadNo] || !Control.queue.isEmpty() && Control.threadCountsManager[0] == false) {
|
while (Control.threadCountsManager[threadNo] || !Control.queue.isEmpty() && Control.threadCountsManager[0] == false) {
|
||||||
|
//logger.log("JudgeFromQueue:线程"+String.valueOf(this.threadNo)+"开始运行,循环", LogLevel.INFO);
|
||||||
try {
|
try {
|
||||||
if (Control.queue.isEmpty()) {
|
if (Control.queue.isEmpty()) {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
|
|
@ -61,9 +66,10 @@ public class JudgeFromQueue extends Thread {
|
||||||
Solution s = null;
|
Solution s = null;
|
||||||
synchronized (Control.queue) {
|
synchronized (Control.queue) {
|
||||||
if (!Control.queue.isEmpty()) {
|
if (!Control.queue.isEmpty()) {
|
||||||
System.out.println("poll¶ÓÁÐ");
|
logger.log("JudgeFromQueue:线程"+String.valueOf(this.threadNo)+"队列不为空,获取解答", LogLevel.INFO);
|
||||||
|
//System.out.println("poll队列");
|
||||||
s = Control.queue.poll();
|
s = Control.queue.poll();
|
||||||
System.out.println("pollÍê³É");
|
//System.out.println("poll完成");
|
||||||
//Swing不是线程安全的,invoke方法立即返回而run方法被异步执行
|
//Swing不是线程安全的,invoke方法立即返回而run方法被异步执行
|
||||||
EventQueue.invokeLater(() -> {
|
EventQueue.invokeLater(() -> {
|
||||||
Control.setGuiQueueSize("" + Control.queue.size());
|
Control.setGuiQueueSize("" + Control.queue.size());
|
||||||
|
|
@ -77,9 +83,11 @@ public class JudgeFromQueue extends Thread {
|
||||||
System.out.println("获取promblem完成");
|
System.out.println("获取promblem完成");
|
||||||
System.out.println("开始裁判");
|
System.out.println("开始裁判");
|
||||||
Judge(s);
|
Judge(s);
|
||||||
|
//为了测试临时删除裁判功能
|
||||||
System.out.println("裁判完成");
|
System.out.println("裁判完成");
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
logger.log("JudgeFromQueue:线程"+String.valueOf(this.threadNo)+"错误"+ex.getMessage(), LogLevel.ERROR);
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
EventQueue.invokeLater(() -> {
|
EventQueue.invokeLater(() -> {
|
||||||
Control.addExceptionInfo(threadNo, ex.toString());
|
Control.addExceptionInfo(threadNo, ex.toString());
|
||||||
|
|
@ -91,6 +99,9 @@ public class JudgeFromQueue extends Thread {
|
||||||
Control.setTabbStopTitle(threadNo);
|
Control.setTabbStopTitle(threadNo);
|
||||||
Control.addJudgeInfo(threadNo, "线程" + threadNo + "stop success\n");
|
Control.addJudgeInfo(threadNo, "线程" + threadNo + "stop success\n");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//判断该停止的线程已经停止
|
//判断该停止的线程已经停止
|
||||||
int i = 1;
|
int i = 1;
|
||||||
boolean runFlag = false;
|
boolean runFlag = false;
|
||||||
|
|
@ -138,7 +149,7 @@ public class JudgeFromQueue extends Thread {
|
||||||
String problemId = s.getProblemId();
|
String problemId = s.getProblemId();
|
||||||
String language = s.getLanguage();
|
String language = s.getLanguage();
|
||||||
String sourceCode = s.getCode();
|
String sourceCode = s.getCode();
|
||||||
String compiler=s.getCompiler();
|
String compiler = s.getCompiler();
|
||||||
|
|
||||||
Float timeOut = problemBeanMap.get(problemId).getTimeOut();
|
Float timeOut = problemBeanMap.get(problemId).getTimeOut();
|
||||||
List<ProblemTestCaseBean> testCaseBeanList = problemBeanMap.get(problemId).getTestCaseBeanList();
|
List<ProblemTestCaseBean> testCaseBeanList = problemBeanMap.get(problemId).getTestCaseBeanList();
|
||||||
|
|
@ -150,9 +161,11 @@ public class JudgeFromQueue extends Thread {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getWebServiceProblems(String problemId) throws Exception {
|
private void getWebServiceProblems(String problemId) throws Exception {
|
||||||
|
//if(problemBeanMap==null||problemBeanMap.size()>100)//改:需要让Map有一定缓存,而不是每次都进行初始化//new:如果不每次都初始化,可能内存泄漏
|
||||||
problemBeanMap = new HashMap<>();
|
problemBeanMap = new HashMap<>();
|
||||||
ProblemBean problemBean = new ProblemBean();
|
ProblemBean problemBean = new ProblemBean();
|
||||||
XmlToProblemBean xtp = new XmlToProblemBean();
|
XmlToProblemBean xtp = new XmlToProblemBean();
|
||||||
|
|
||||||
ProblemsCachManager problemsCachManager = ProblemsCachManager
|
ProblemsCachManager problemsCachManager = ProblemsCachManager
|
||||||
.getInstance();
|
.getInstance();
|
||||||
String problem = (String) problemsCachManager
|
String problem = (String) problemsCachManager
|
||||||
|
|
@ -160,8 +173,7 @@ public class JudgeFromQueue extends Thread {
|
||||||
if (problem == null) {
|
if (problem == null) {
|
||||||
try{
|
try{
|
||||||
problem = Control.getWebService().getProblem(Integer.parseInt(problemId));
|
problem = Control.getWebService().getProblem(Integer.parseInt(problemId));
|
||||||
problemsCachManager.putObject("problemId" + problemId,
|
problemsCachManager.putObject("problemId" + problemId, problem);
|
||||||
problem);
|
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
Result.status = Const.SE;
|
Result.status = Const.SE;
|
||||||
CompileInfo.remark = "获取题目信息失败!请联系管理人员。错误信息:"+e.getMessage();
|
CompileInfo.remark = "获取题目信息失败!请联系管理人员。错误信息:"+e.getMessage();
|
||||||
|
|
@ -221,14 +233,20 @@ public class JudgeFromQueue extends Thread {
|
||||||
List<ProblemTestCaseBean> wrongCase = new ArrayList<>();
|
List<ProblemTestCaseBean> wrongCase = new ArrayList<>();
|
||||||
List<String> testCaseList = Arrays.asList(answer.getTestCaseId());
|
List<String> testCaseList = Arrays.asList(answer.getTestCaseId());
|
||||||
List<String> correctList = Arrays.asList(answer.getCorrectCaseIds().split(","));
|
List<String> correctList = Arrays.asList(answer.getCorrectCaseIds().split(","));
|
||||||
for (int i = 0; i < testCaseList.size(); i++) {
|
if(rb.getStatus().equals("CE")){//如果是CE就不输出具体信息
|
||||||
if (!correctList.contains(testCaseList.get(i))) {
|
//
|
||||||
ProblemTestCaseBean testCase = new ProblemTestCaseBean();
|
}
|
||||||
testCase.setId(Integer.parseInt(testCaseList.get(i)));
|
else{
|
||||||
testCase.setOutput(answer.getUsersOutput()[i]);
|
for (int i = 0; i < testCaseList.size(); i++) {
|
||||||
wrongCase.add(testCase);
|
if (!correctList.contains(testCaseList.get(i))) {
|
||||||
|
ProblemTestCaseBean testCase = new ProblemTestCaseBean();
|
||||||
|
testCase.setId(Integer.parseInt(testCaseList.get(i)));
|
||||||
|
testCase.setOutput(answer.getUsersOutput()[i]);
|
||||||
|
wrongCase.add(testCase);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rb.setWrongCase(wrongCase);
|
rb.setWrongCase(wrongCase);
|
||||||
AnswerToXml rtx = new AnswerToXml(rb);
|
AnswerToXml rtx = new AnswerToXml(rb);
|
||||||
xml = rtx.convertXML();
|
xml = rtx.convertXML();
|
||||||
|
|
@ -240,7 +258,7 @@ public class JudgeFromQueue extends Thread {
|
||||||
xtr.readXmlString(request);
|
xtr.readXmlString(request);
|
||||||
Request req = xtr.convertXML();
|
Request req = xtr.convertXML();
|
||||||
logger.log("提交完成", common.LogLevel.INFO);
|
logger.log("提交完成", common.LogLevel.INFO);
|
||||||
System.out.println("Ìá½»Íê³É");
|
//System.out.println("提交完成");
|
||||||
Control.addJudgeInfo(threadNo, "server result:" + req.getRspMsg());
|
Control.addJudgeInfo(threadNo, "server result:" + req.getRspMsg());
|
||||||
// Control.addJudgeInfo("ok");
|
// Control.addJudgeInfo("ok");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,15 @@
|
||||||
*/
|
*/
|
||||||
package data;
|
package data;
|
||||||
|
|
||||||
|
import common.Const;
|
||||||
|
import common.LogLevel;
|
||||||
|
import common.Logger;
|
||||||
import gui.Control;
|
import gui.Control;
|
||||||
import static gui.Control.getJudgeInfoEditorPane;
|
import static gui.Control.getJudgeInfoEditorPane;
|
||||||
import java.awt.EventQueue;
|
import java.awt.EventQueue;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.locks.Lock;
|
import java.util.concurrent.locks.Lock;
|
||||||
|
|
@ -19,6 +23,7 @@ import myjdom.model.Solution;
|
||||||
import myjdom.model.Solutions;
|
import myjdom.model.Solutions;
|
||||||
import myjdom.model.ProblemBean;
|
import myjdom.model.ProblemBean;
|
||||||
import persistence.oj_beans.ProblemTestCaseBean;
|
import persistence.oj_beans.ProblemTestCaseBean;
|
||||||
|
import resultData.Result;
|
||||||
import web.Webservice;
|
import web.Webservice;
|
||||||
import static web.Webservice.existDubbo;
|
import static web.Webservice.existDubbo;
|
||||||
|
|
||||||
|
|
@ -36,6 +41,7 @@ public class MainForNet extends Thread {
|
||||||
private int previousSId = -1;
|
private int previousSId = -1;
|
||||||
public Solutions solutions;
|
public Solutions solutions;
|
||||||
private Lock lock;
|
private Lock lock;
|
||||||
|
private static Logger logger=Logger.getInstance();
|
||||||
// private String ip = "127.0.0.1";
|
// private String ip = "127.0.0.1";
|
||||||
// private int port = 5000;
|
// private int port = 5000;
|
||||||
|
|
||||||
|
|
@ -51,10 +57,13 @@ public class MainForNet extends Thread {
|
||||||
Thread.sleep(500);
|
Thread.sleep(500);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
System.out.println("开始获取solution");
|
List<Solution> list=new ArrayList<>();
|
||||||
|
|
||||||
List<Solution> list = getWebServiceSolutions();
|
synchronized(Control.refreshLock){//加锁,避免在获取solution时遇到线程刷新
|
||||||
System.out.println("获取slolutin数量"+list.size());
|
System.out.println("开始获取solution");
|
||||||
|
list = getWebServiceSolutions();
|
||||||
|
System.out.println("获取slolutin数量"+list.size());
|
||||||
|
}
|
||||||
// getServerObject();
|
// getServerObject();
|
||||||
if (list.size() == 0) {
|
if (list.size() == 0) {
|
||||||
Thread.sleep(3000);
|
Thread.sleep(3000);
|
||||||
|
|
@ -95,7 +104,8 @@ public class MainForNet extends Thread {
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Solution> getWebServiceSolutions() throws Exception {
|
private List<Solution> getWebServiceSolutions() throws Exception {
|
||||||
Control.setWebService(new Webservice(new URL(Control.getUrl()), Control.getQname()));
|
if(Control.getWebService()==null)//Jared:此前每次加载都会创建Webservice实例,疑似导致内存泄漏
|
||||||
|
Control.setWebService(new Webservice(new URL(Control.getUrl()), Control.getQname()));
|
||||||
|
|
||||||
String xml = null;
|
String xml = null;
|
||||||
try{
|
try{
|
||||||
|
|
@ -104,9 +114,16 @@ public class MainForNet extends Thread {
|
||||||
catch(Exception ex){
|
catch(Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
EventQueue.invokeLater(() -> {
|
EventQueue.invokeLater(() -> {
|
||||||
Control.addExceptionInfo(0, ex.getStackTrace().toString());
|
Control.addExceptionInfo(0, "获取Solutions失败:"+ex.getMessage());
|
||||||
});
|
});
|
||||||
|
logger.log("获取Solutions失败:" + ex.getMessage(), LogLevel.ERROR);
|
||||||
|
Result.status = Const.SE;
|
||||||
|
|
||||||
|
//todo:返回SE
|
||||||
}
|
}
|
||||||
|
// if(xml==null||xml.equals("")){
|
||||||
|
// Result.status=Const.SE;
|
||||||
|
// }
|
||||||
XmlToSolution xts = new XmlToSolution();
|
XmlToSolution xts = new XmlToSolution();
|
||||||
xts.readXmlString(xml);
|
xts.readXmlString(xml);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@
|
||||||
package gui;
|
package gui;
|
||||||
|
|
||||||
import common.Config;
|
import common.Config;
|
||||||
|
import common.LogLevel;
|
||||||
|
import common.Logger;
|
||||||
import data.JudgeFromQueue;
|
import data.JudgeFromQueue;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
@ -43,11 +45,11 @@ public class Control {
|
||||||
public static Queue<Solution> queue = null;
|
public static Queue<Solution> queue = null;
|
||||||
public static boolean[] threadCountsManager; //线程数目管理
|
public static boolean[] threadCountsManager; //线程数目管理
|
||||||
public static boolean[] threadState;//线程状态
|
public static boolean[] threadState;//线程状态
|
||||||
|
private static final Logger logger=Logger.getInstance();
|
||||||
public static MainFrame getMainFrame() {
|
public static MainFrame getMainFrame() {
|
||||||
return mainFrame;
|
return mainFrame;
|
||||||
}
|
}
|
||||||
|
public final static Object refreshLock=new Object();//作为线程刷新的锁,如果没有锁就不能重启线程
|
||||||
public static void setMainFrame(MainFrame mainFrame) {
|
public static void setMainFrame(MainFrame mainFrame) {
|
||||||
Control.mainFrame = mainFrame;
|
Control.mainFrame = mainFrame;
|
||||||
}
|
}
|
||||||
|
|
@ -81,16 +83,17 @@ public class Control {
|
||||||
public static boolean managerThreadCounts(String s) {
|
public static boolean managerThreadCounts(String s) {
|
||||||
for (int i = 1; i <= 4; i++) {
|
for (int i = 1; i <= 4; i++) {
|
||||||
int a = Integer.parseInt(s);
|
int a = Integer.parseInt(s);
|
||||||
|
logger.log("managerThreadCounts:a="+s, LogLevel.INFO);
|
||||||
//原来停止的现在要启动
|
//原来停止的现在要启动
|
||||||
if (i <= a) {
|
if (i <= a) {
|
||||||
//启动线程
|
//启动线程
|
||||||
if (threadCountsManager[i] == false) {
|
if (threadCountsManager[i] == false) {
|
||||||
threadCountsManager[i] = true;
|
threadCountsManager[i] = true;
|
||||||
threadState[i] = true;
|
threadState[i] = true;
|
||||||
mainFrame.threadManagerTabb.setTitleAt(i, "线程正在运行");
|
mainFrame.threadManagerTabb.setTitleAt(i, "线程正在运行");
|
||||||
judgeFromQueue = new JudgeFromQueue(i);
|
judgeFromQueue = new JudgeFromQueue(i);
|
||||||
judgeFromQueue.start();
|
judgeFromQueue.start();
|
||||||
}
|
}
|
||||||
} else //原来运行的现在要停止
|
} else //原来运行的现在要停止
|
||||||
if (threadCountsManager[i] == true) {
|
if (threadCountsManager[i] == true) {
|
||||||
threadCountsManager[i] = false;
|
threadCountsManager[i] = false;
|
||||||
|
|
@ -111,9 +114,9 @@ public class Control {
|
||||||
runflag = 0; //设置线程状态关闭
|
runflag = 0; //设置线程状态关闭
|
||||||
// mainFrame.buttonCompilersConfig.setEnabled(true);//恢复编译器配置按钮
|
// mainFrame.buttonCompilersConfig.setEnabled(true);//恢复编译器配置按钮
|
||||||
// mainFrame.buttonCompilersConfig1.setEnabled(true);
|
// mainFrame.buttonCompilersConfig1.setEnabled(true);
|
||||||
mainFrame.jButton2.setEnabled(true);//设置编辑配置文件
|
mainFrame.jButton2.setEnabled(true);//设置编辑配置文件
|
||||||
mainFrame.jLabel14.setText("已关闭 ");//更新UI状态
|
mainFrame.jLabel14.setText("已关闭 ");//更新UI状态
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setStartThreadButtontEnable() {
|
public static void setStartThreadButtontEnable() {
|
||||||
|
|
@ -125,7 +128,7 @@ public class Control {
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
public static JTextField getDistributorField(int a) {
|
public static JTextField getDistributorField(int a) {
|
||||||
switch (a) {
|
switch (a) {
|
||||||
case 0:
|
case 0:
|
||||||
return mainFrame.distributorIP;
|
return mainFrame.distributorIP;
|
||||||
|
|
@ -133,6 +136,7 @@ public class Control {
|
||||||
return mainFrame.distributorPort;
|
return mainFrame.distributorPort;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static JEditorPane getJudgeInfoEditorPane(int a) {
|
public static JEditorPane getJudgeInfoEditorPane(int a) {
|
||||||
switch (a) {
|
switch (a) {
|
||||||
case 1:
|
case 1:
|
||||||
|
|
@ -159,7 +163,7 @@ public class Control {
|
||||||
// String s=mainFrame.jComboBox1.getSelectedItem().toString();
|
// String s=mainFrame.jComboBox1.getSelectedItem().toString();
|
||||||
int counts = 1;
|
int counts = 1;
|
||||||
threadCountsManager[0] = false; //关闭获取test线程
|
threadCountsManager[0] = false; //关闭获取test线程
|
||||||
|
logger.log("线程已关闭,总数:"+String.valueOf(threadCountsManager.length), LogLevel.INFO);
|
||||||
//关闭裁判线程
|
//关闭裁判线程
|
||||||
for (; j <= 1; j++) {
|
for (; j <= 1; j++) {
|
||||||
if (threadCountsManager[j] == true) {
|
if (threadCountsManager[j] == true) {
|
||||||
|
|
@ -170,30 +174,29 @@ public class Control {
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Control.addExceptionInfo(j, e.toString());
|
Control.addExceptionInfo(j, e.toString());
|
||||||
|
logger.log("异常:"+e.toString(), LogLevel.ERROR);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("empty-statement")
|
@SuppressWarnings("empty-statement")
|
||||||
public static boolean startJudgerForNet(String ip, int port) {
|
public static boolean startJudgerForNet(String ip, int port) {
|
||||||
|
if(queue==null)//此举是为了让原本queue不为空时,solution可以得到保存
|
||||||
queue = new LinkedList<>();
|
queue = new LinkedList<>();
|
||||||
|
|
||||||
// mainFrame.jLabel2.setText(""+queue.size());
|
// mainFrame.jLabel2.setText(""+queue.size());
|
||||||
// mainNet = new MainForNet(ip, port);
|
// mainNet = new MainForNet(ip, port);
|
||||||
mainNet = new MainForNet();//获取问题到队列
|
mainNet = new MainForNet();//获取问题到队列
|
||||||
threadCountsManager[0] = true;
|
threadCountsManager[0] = true;
|
||||||
mainNet.start()
|
mainNet.start();
|
||||||
;
|
|
||||||
String a = mainFrame.jComboBox1.getSelectedItem().toString();
|
String a = mainFrame.jComboBox1.getSelectedItem().toString();
|
||||||
return managerThreadCounts(a);
|
return managerThreadCounts(a);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void addJudgeInfo(int a, String info) {
|
public static void addJudgeInfo(int a, String info) {
|
||||||
//信息框中信息超过2000行自动清洗屏幕
|
|
||||||
Element map = getJudgeInfoEditorPane(a).getDocument().getDefaultRootElement();
|
if (getExceptionEditorPane(a).getText().split("\n").length>=max_lines) {
|
||||||
if (map.getElementCount() == 2000) {
|
|
||||||
clearInfo(a);
|
clearInfo(a);
|
||||||
}
|
}
|
||||||
int pos = 1;//光标位置标记
|
int pos = 1;//光标位置标记
|
||||||
|
|
@ -205,35 +208,55 @@ public class Control {
|
||||||
getJudgeInfoEditorPane(a).setSelectionEnd(pos);
|
getJudgeInfoEditorPane(a).setSelectionEnd(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getFirstNLines(String input, int n) {
|
||||||
|
// 将字符串按行分割
|
||||||
|
String[] lines = input.split("\n");
|
||||||
|
// 计算需要保留的行数,确保不会超过总行数
|
||||||
|
int end = Math.min(lines.length, n);
|
||||||
|
// 创建一个StringBuilder来组合需要保留的行
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (int i = 0; i < end; i++) {
|
||||||
|
sb.append(lines[i]);
|
||||||
|
if (i < end - 1) {
|
||||||
|
sb.append("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final int max_lines=100;
|
||||||
public static void clearInfo(int a) {
|
public static void clearInfo(int a) {
|
||||||
getJudgeInfoEditorPane(a).setText("");
|
getJudgeInfoEditorPane(a).setText(getFirstNLines(getJudgeInfoEditorPane(a).getText(), max_lines));
|
||||||
getExceptionEditorPane(a).setText("");
|
getExceptionEditorPane(a).setText(getFirstNLines(getExceptionEditorPane(a).getText(), max_lines));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void addExceptionInfo(int a, String info) {
|
public static void addExceptionInfo(int a, String info) {
|
||||||
//信息框中信息超过2000行自动清洗屏幕
|
|
||||||
Element map = getExceptionEditorPane(a).getDocument().getDefaultRootElement();
|
if (getExceptionEditorPane(a).getText().split("\n").length>=max_lines) {
|
||||||
if (map.getElementCount() == 2000) {
|
|
||||||
clearInfo(a);
|
clearInfo(a);
|
||||||
}
|
}
|
||||||
int pos = 1;//光标位置标记
|
int pos = 1;//光标位置标记
|
||||||
String preInfo = getExceptionEditorPane(a).getText();
|
String preInfo = getExceptionEditorPane(a).getText();
|
||||||
preInfo = getDetailTime() + preInfo + "\n" + info;
|
preInfo = getDetailTime()+ info+ "\n" + preInfo ;
|
||||||
getExceptionEditorPane(a).setText(preInfo);
|
getExceptionEditorPane(a).setText(preInfo);
|
||||||
//使焦点确定在第一行的最新信息
|
//使焦点确定在第一行的最新信息
|
||||||
getExceptionEditorPane(a).setSelectionStart(pos);
|
getExceptionEditorPane(a).setSelectionStart(pos);
|
||||||
getExceptionEditorPane(a).setSelectionEnd(pos);
|
getExceptionEditorPane(a).setSelectionEnd(pos);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getChooseDirectory() {
|
public static String getChooseDirectory() {
|
||||||
return getChooseDirectory("a");
|
return getChooseDirectory("a");
|
||||||
}
|
}
|
||||||
public static String getCppCompilerName(){
|
|
||||||
|
public static String getCppCompilerName() {
|
||||||
return mainFrame.getSelectedCppCompilerName();
|
return mainFrame.getSelectedCppCompilerName();
|
||||||
}
|
}
|
||||||
public static String getJavaCompilerName(){
|
|
||||||
|
public static String getJavaCompilerName() {
|
||||||
return mainFrame.getSelectedJavaCompilerName();
|
return mainFrame.getSelectedJavaCompilerName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getChooseDirectory(String lan) {
|
public static String getChooseDirectory(String lan) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,9 @@
|
||||||
<Component id="jLabel17" min="-2" max="-2" attributes="0"/>
|
<Component id="jLabel17" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||||
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
|
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="30" max="-2" attributes="0"/>
|
||||||
|
<Component id="button_StartThread" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="jLabel7" min="-2" max="-2" attributes="0"/>
|
<Component id="jLabel7" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="jComboBox1" min="-2" pref="32" max="-2" attributes="0"/>
|
<Component id="jComboBox1" min="-2" pref="32" max="-2" attributes="0"/>
|
||||||
|
|
@ -127,10 +129,7 @@
|
||||||
<EmptySpace min="-2" pref="21" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="21" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Group type="103" groupAlignment="1" attributes="0">
|
<Component id="threadManagerTabb" min="-2" pref="945" max="-2" attributes="0"/>
|
||||||
<Component id="button_StartThread" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="threadManagerTabb" min="-2" pref="945" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace max="32767" attributes="0"/>
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
|
|
@ -262,7 +261,11 @@
|
||||||
<StringItem index="3" value="4"/>
|
<StringItem index="3" value="4"/>
|
||||||
</StringArray>
|
</StringArray>
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="opaque" type="boolean" value="false"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jComboBox1ActionPerformed"/>
|
||||||
|
</Events>
|
||||||
<AuxValues>
|
<AuxValues>
|
||||||
<AuxValue name="JavaCodeGenerator_AddingCodePost" type="java.lang.String" value="jComboBox1.setVisible(false);"/>
|
<AuxValue name="JavaCodeGenerator_AddingCodePost" type="java.lang.String" value="jComboBox1.setVisible(false);"/>
|
||||||
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/>
|
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/>
|
||||||
|
|
@ -462,6 +465,7 @@
|
||||||
<Component class="javax.swing.JButton" name="button_StartThread">
|
<Component class="javax.swing.JButton" name="button_StartThread">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" value="设置"/>
|
<Property name="text" type="java.lang.String" value="设置"/>
|
||||||
|
<Property name="opaque" type="boolean" value="false"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="button_StartThreadActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="button_StartThreadActionPerformed"/>
|
||||||
|
|
|
||||||
|
|
@ -9,16 +9,22 @@ import cache.ProblemsCachManager;
|
||||||
import common.Config;
|
import common.Config;
|
||||||
import common.FileFinder;
|
import common.FileFinder;
|
||||||
import common.LangSelector;
|
import common.LangSelector;
|
||||||
|
import common.LogLevel;
|
||||||
|
import common.Logger;
|
||||||
|
import static gui.Control.getJudgeInfoEditorPane;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Desktop;
|
import java.awt.Desktop;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.Timer;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
import share.gui.NewCompileSetting;
|
import share.gui.NewCompileSetting;
|
||||||
import web.Dubboservice;
|
import web.Dubboservice;
|
||||||
|
|
@ -29,6 +35,7 @@ import web.Webservice;
|
||||||
* @author Administrator
|
* @author Administrator
|
||||||
*/
|
*/
|
||||||
public class MainFrame extends javax.swing.JFrame {
|
public class MainFrame extends javax.swing.JFrame {
|
||||||
|
private Logger logger=Logger.getInstance();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates new form MainFrame
|
* Creates new form MainFrame
|
||||||
|
|
@ -70,15 +77,35 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
});
|
});
|
||||||
comboCppCompiler.removeAllItems();
|
comboCppCompiler.removeAllItems();
|
||||||
comboJavaCompiler.removeAllItems();
|
comboJavaCompiler.removeAllItems();
|
||||||
List<String> cppCompilers=LangSelector.getCompilerNames("C++");
|
List<String> cppCompilers = LangSelector.getCompilerNames("C++");
|
||||||
for(int i=0;i<cppCompilers.size();++i){
|
for (int i = 0; i < cppCompilers.size(); ++i) {
|
||||||
comboCppCompiler.addItem(cppCompilers.get(i));
|
comboCppCompiler.addItem(cppCompilers.get(i));
|
||||||
}
|
}
|
||||||
List<String> javaCompilers=LangSelector.getCompilerNames("Java");
|
List<String> javaCompilers = LangSelector.getCompilerNames("Java");
|
||||||
for(int i=0;i<javaCompilers.size();++i){
|
for (int i = 0; i < javaCompilers.size(); ++i) {
|
||||||
comboJavaCompiler.addItem(javaCompilers.get(i));
|
comboJavaCompiler.addItem(javaCompilers.get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// // 设置定时器,每小时执行一次gc
|
||||||
|
// Timer timer = new Timer(3600* 1000, new ActionListener() { // 3600000 milliseconds = 1 hour
|
||||||
|
// @Override
|
||||||
|
// public void actionPerformed(ActionEvent e) {
|
||||||
|
////
|
||||||
|
//// ProblemsCachManager problemsCachManager = ProblemsCachManager.getInstance();
|
||||||
|
//// problemsCachManager.removeAllObject();
|
||||||
|
// System.gc();
|
||||||
|
// logger.log("已自动执行gc!", LogLevel.INFO);
|
||||||
|
//// synchronized (Control.refreshLock) {//
|
||||||
|
//// //if(!Control.queue.isEmpty())return;//如果有队列任务就下次重启
|
||||||
|
//// buttonStopActionPerformed(null);
|
||||||
|
//// button_StartActionPerformed(null);
|
||||||
|
//// Control.addJudgeInfo(0, "裁判机线程已自动刷新!");
|
||||||
|
//// logger.log("裁判机线程已自动刷新!", LogLevel.INFO);
|
||||||
|
//// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// timer.start();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -160,6 +187,12 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
jLabel7.setText("线程数量:");
|
jLabel7.setText("线程数量:");
|
||||||
|
|
||||||
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4" }));
|
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4" }));
|
||||||
|
jComboBox1.setOpaque(false);
|
||||||
|
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
jComboBox1ActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
jLabel15.setText("一般信息:");
|
jLabel15.setText("一般信息:");
|
||||||
|
|
||||||
|
|
@ -241,6 +274,7 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
threadManagerTabb.addTab("线程[未运行]", jPanel6);
|
threadManagerTabb.addTab("线程[未运行]", jPanel6);
|
||||||
|
|
||||||
button_StartThread.setText("设置");
|
button_StartThread.setText("设置");
|
||||||
|
button_StartThread.setOpaque(false);
|
||||||
button_StartThread.addActionListener(new java.awt.event.ActionListener() {
|
button_StartThread.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
button_StartThreadActionPerformed(evt);
|
button_StartThreadActionPerformed(evt);
|
||||||
|
|
@ -340,7 +374,9 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
.addComponent(jLabel17)
|
.addComponent(jLabel17)
|
||||||
.addGap(18, 18, 18)
|
.addGap(18, 18, 18)
|
||||||
.addComponent(jButton1)
|
.addComponent(jButton1)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addGap(30, 30, 30)
|
||||||
|
.addComponent(button_StartThread)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(jLabel7)
|
.addComponent(jLabel7)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
|
@ -364,9 +400,7 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
.addGap(83, 83, 83)))
|
.addGap(83, 83, 83)))
|
||||||
.addGap(21, 21, 21))
|
.addGap(21, 21, 21))
|
||||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
.addComponent(threadManagerTabb, javax.swing.GroupLayout.PREFERRED_SIZE, 945, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(button_StartThread)
|
|
||||||
.addComponent(threadManagerTabb, javax.swing.GroupLayout.PREFERRED_SIZE, 945, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
||||||
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 1, Short.MAX_VALUE))
|
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 1, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
|
|
@ -455,7 +489,8 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
try {
|
try {
|
||||||
LangSelector.init();
|
LangSelector.init();
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
|
logger.log("错误:"+ex.getMessage(), LogLevel.ERROR);
|
||||||
|
//Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
}//刷新配置文件
|
}//刷新配置文件
|
||||||
if (!checkForCompile()) {
|
if (!checkForCompile()) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -474,7 +509,7 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
this.buttonStop.setEnabled(true);
|
this.buttonStop.setEnabled(true);
|
||||||
this.button_StartThread.setEnabled(true);
|
this.button_StartThread.setEnabled(true);
|
||||||
this.jCheckBox2.setEnabled(false);
|
this.jCheckBox2.setEnabled(false);
|
||||||
Webservice.existDubbo=false;
|
Webservice.existDubbo = false;
|
||||||
// if(!Dubboservice.running){
|
// if(!Dubboservice.running){
|
||||||
// Dubboservice.main(null);
|
// Dubboservice.main(null);
|
||||||
// Dubboservice.running=true;
|
// Dubboservice.running=true;
|
||||||
|
|
@ -491,24 +526,22 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
|
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
|
||||||
// TODO add your handling code here:
|
// TODO add your handling code here:
|
||||||
for (int i = 0; i <= 4; i++) {
|
for (int i = 0; i <= 4; i++) {
|
||||||
Control.clearInfo(i);
|
getJudgeInfoEditorPane(i).setText("");
|
||||||
}
|
}
|
||||||
}//GEN-LAST:event_jLabel17MouseClicked
|
}//GEN-LAST:event_jLabel17MouseClicked
|
||||||
private boolean checkForCompile() {
|
private boolean checkForCompile() {
|
||||||
//String tmp = null;
|
//String tmp = null;
|
||||||
//tmp = Config.getCompilerDir("c",comboCppCompiler.getSelectedItem().toString());
|
//tmp = Config.getCompilerDir("c",comboCppCompiler.getSelectedItem().toString());
|
||||||
//if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "gcc.exe")&&!FileFinder.isExistFile(tmp + File.separator + "g++.exe")&&!FileFinder.isExistFile(tmp + File.separator + "/bin/cl.exe")) {
|
//if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "gcc.exe")&&!FileFinder.isExistFile(tmp + File.separator + "g++.exe")&&!FileFinder.isExistFile(tmp + File.separator + "/bin/cl.exe")) {
|
||||||
//弹窗设置保存
|
//弹窗设置保存
|
||||||
|
|
||||||
// JOptionPane.showMessageDialog(this, "请先配置C/C++编译器");
|
// JOptionPane.showMessageDialog(this, "请先配置C/C++编译器");
|
||||||
// NewCompileSetting window = new NewCompileSetting("c", this, true);
|
// NewCompileSetting window = new NewCompileSetting("c", this, true);
|
||||||
// window.setVisible(true);
|
// window.setVisible(true);
|
||||||
// return false;
|
// return false;
|
||||||
//}
|
//}
|
||||||
|
// tmp = Config.getCompilerDir("java",comboJavaCompiler.getSelectedItem().toString());
|
||||||
// tmp = Config.getCompilerDir("java",comboJavaCompiler.getSelectedItem().toString());
|
|
||||||
//if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "javac.exe")) {
|
//if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "javac.exe")) {
|
||||||
|
|
||||||
// JOptionPane.showMessageDialog(this, "请先配置Java编译器");
|
// JOptionPane.showMessageDialog(this, "请先配置Java编译器");
|
||||||
// NewCompileSetting window = new NewCompileSetting("java", this, true);
|
// NewCompileSetting window = new NewCompileSetting("java", this, true);
|
||||||
// window.setVisible(true);
|
// window.setVisible(true);
|
||||||
|
|
@ -516,10 +549,12 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
//}
|
//}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public String getSelectedCppCompilerName(){
|
|
||||||
|
public String getSelectedCppCompilerName() {
|
||||||
return comboCppCompiler.getSelectedItem().toString();
|
return comboCppCompiler.getSelectedItem().toString();
|
||||||
}
|
}
|
||||||
public String getSelectedJavaCompilerName(){
|
|
||||||
|
public String getSelectedJavaCompilerName() {
|
||||||
return comboJavaCompiler.getSelectedItem().toString();
|
return comboJavaCompiler.getSelectedItem().toString();
|
||||||
}
|
}
|
||||||
private void button_StartThreadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button_StartThreadActionPerformed
|
private void button_StartThreadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button_StartThreadActionPerformed
|
||||||
|
|
@ -534,41 +569,39 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
ProblemsCachManager problemsCachManager = ProblemsCachManager.getInstance();
|
ProblemsCachManager problemsCachManager = ProblemsCachManager.getInstance();
|
||||||
problemsCachManager.removeAllObject();
|
problemsCachManager.removeAllObject();
|
||||||
JOptionPane.showMessageDialog(this, "缓存清除成功");
|
JOptionPane.showMessageDialog(this, "缓存清除成功");
|
||||||
|
|
||||||
}//GEN-LAST:event_jButton1ActionPerformed
|
}//GEN-LAST:event_jButton1ActionPerformed
|
||||||
|
|
||||||
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
|
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
|
||||||
Desktop desktop = Desktop.getDesktop();
|
Desktop desktop = Desktop.getDesktop();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 打开文件
|
// 打开文件
|
||||||
desktop.open(new File(LangSelector.getConfigPath()));
|
desktop.open(new File(LangSelector.getConfigPath()));
|
||||||
// desktop.open(FileFinder.findFile("ConfigEditor.exe")));
|
// desktop.open(FileFinder.findFile("ConfigEditor.exe")));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}//GEN-LAST:event_jButton2ActionPerformed
|
}//GEN-LAST:event_jButton2ActionPerformed
|
||||||
|
|
||||||
private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox2ActionPerformed
|
private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox2ActionPerformed
|
||||||
Webservice.ENABLE_DUBBO=jCheckBox2.isSelected();
|
Webservice.ENABLE_DUBBO = jCheckBox2.isSelected();
|
||||||
}//GEN-LAST:event_jCheckBox2ActionPerformed
|
}//GEN-LAST:event_jCheckBox2ActionPerformed
|
||||||
|
|
||||||
private void comboCppCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboCppCompilerActionPerformed
|
private void comboCppCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboCppCompilerActionPerformed
|
||||||
try{
|
try {
|
||||||
LangSelector.setDefaultCompiler("C++", comboCppCompiler.getSelectedItem().toString());
|
LangSelector.setDefaultCompiler("C++", comboCppCompiler.getSelectedItem().toString());
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
//e.printStackTrace();
|
//e.printStackTrace();
|
||||||
}
|
}
|
||||||
}//GEN-LAST:event_comboCppCompilerActionPerformed
|
}//GEN-LAST:event_comboCppCompilerActionPerformed
|
||||||
|
|
||||||
private void comboJavaCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboJavaCompilerActionPerformed
|
private void comboJavaCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboJavaCompilerActionPerformed
|
||||||
|
|
||||||
try{
|
try {
|
||||||
LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
|
LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}//GEN-LAST:event_comboJavaCompilerActionPerformed
|
}//GEN-LAST:event_comboJavaCompilerActionPerformed
|
||||||
|
|
||||||
|
|
@ -580,6 +613,10 @@ public class MainFrame extends javax.swing.JFrame {
|
||||||
//LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
|
//LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
|
||||||
}//GEN-LAST:event_comboJavaCompilerItemStateChanged
|
}//GEN-LAST:event_comboJavaCompilerItemStateChanged
|
||||||
|
|
||||||
|
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
|
||||||
|
// TODO add your handling code here:
|
||||||
|
}//GEN-LAST:event_jComboBox1ActionPerformed
|
||||||
|
|
||||||
private void loadConfig() {
|
private void loadConfig() {
|
||||||
this.distributorIP.setText(Config.getValue("distributorIP"));
|
this.distributorIP.setText(Config.getValue("distributorIP"));
|
||||||
this.distributorPort.setText(Config.getValue("distributorPort"));
|
this.distributorPort.setText(Config.getValue("distributorPort"));
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
*/
|
*/
|
||||||
package myjdom;
|
package myjdom;
|
||||||
|
|
||||||
import com.sun.media.jfxmedia.logging.Logger;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import myjdom.model.Solution;
|
import myjdom.model.Solution;
|
||||||
|
|
@ -49,7 +49,7 @@ public class XmlToSolution extends XmlToBase implements XmlConvert<Solutions> {
|
||||||
}
|
}
|
||||||
if (e.getElementsByTagName("compiler").item(0) != null) {
|
if (e.getElementsByTagName("compiler").item(0) != null) {
|
||||||
s.setCompiler(e.getElementsByTagName("compiler").item(0).getTextContent());
|
s.setCompiler(e.getElementsByTagName("compiler").item(0).getTextContent());
|
||||||
Logger.logMsg(Logger.DEBUG,"当前编译器:"+e.getElementsByTagName("compiler").item(0).getTextContent());
|
//Logger.logMsg(Logger.DEBUG,"当前编译器:"+e.getElementsByTagName("compiler").item(0).getTextContent());
|
||||||
System.out.println("µ±Ç°±àÒëÆ÷:"+e.getElementsByTagName("compiler").item(0).getTextContent());
|
System.out.println("µ±Ç°±àÒëÆ÷:"+e.getElementsByTagName("compiler").item(0).getTextContent());
|
||||||
}/////NEW
|
}/////NEW
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ package web;
|
||||||
|
|
||||||
import com.alibaba.dubbo.config.ApplicationConfig;
|
import com.alibaba.dubbo.config.ApplicationConfig;
|
||||||
import com.alibaba.dubbo.config.ReferenceConfig;
|
import com.alibaba.dubbo.config.ReferenceConfig;
|
||||||
import com.alibaba.dubbo.config.RegistryConfig;
|
|
||||||
import util.Decrypt;
|
import util.Decrypt;
|
||||||
import edu.dhu.ws.OJWS;
|
import edu.dhu.ws.OJWS;
|
||||||
import edu.dhu.ws.OJWS_Service;
|
import edu.dhu.ws.OJWS_Service;
|
||||||
|
|
@ -17,18 +16,13 @@ import static gui.Control.getJudgeInfoEditorPane;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.rmi.RemoteException;
|
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.swing.JEditorPane;
|
import javax.swing.JEditorPane;
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
import org.springframework.boot.logging.LogLevel;
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author ytxlo
|
* @author ytxlo
|
||||||
|
|
@ -39,6 +33,7 @@ public class Webservice implements java.rmi.Remote{
|
||||||
private OJWS servicePort;
|
private OJWS servicePort;
|
||||||
public static boolean ENABLE_DUBBO=true;
|
public static boolean ENABLE_DUBBO=true;
|
||||||
public static boolean existDubbo=false;
|
public static boolean existDubbo=false;
|
||||||
|
private static ReferenceConfig<OJWS> reference = null;
|
||||||
//@DubboReference(url = "http://106.15.36.190:3000/edu.dhu.ws.OJWS")
|
//@DubboReference(url = "http://106.15.36.190:3000/edu.dhu.ws.OJWS")
|
||||||
//http://106.15.36.190:3000/edu.dhu.ws.OJWS
|
//http://106.15.36.190:3000/edu.dhu.ws.OJWS
|
||||||
//dubbo://219.228.76.122:80/edu.dhu.ws.OJWS
|
//dubbo://219.228.76.122:80/edu.dhu.ws.OJWS
|
||||||
|
|
@ -48,14 +43,25 @@ public class Webservice implements java.rmi.Remote{
|
||||||
//@DubboReference(url = "dubbo://10.10.10.1:20880/edu.dhu.ws.OJWS")
|
//@DubboReference(url = "dubbo://10.10.10.1:20880/edu.dhu.ws.OJWS")
|
||||||
//@Resource
|
//@Resource
|
||||||
public OJWS dubboPort;
|
public OJWS dubboPort;
|
||||||
common.Logger logger;
|
static common.Logger logger = common.Logger.getInstance();
|
||||||
|
// 销毁当前Dubbo实例的方法
|
||||||
|
|
||||||
|
private static void destroyCurrentDubboPort() {
|
||||||
|
if (reference != null) {
|
||||||
|
reference.destroy(); // 销毁ReferenceConfig
|
||||||
|
reference = null;
|
||||||
|
existDubbo = false;
|
||||||
|
logger.log("现有的Dubbo实例已销毁", common.LogLevel.INFO);
|
||||||
|
}
|
||||||
|
}
|
||||||
public static OJWS initDubboPort(String url) {
|
public static OJWS initDubboPort(String url) {
|
||||||
// 应用配置
|
// 应用配置
|
||||||
ApplicationConfig application = new ApplicationConfig();
|
ApplicationConfig application = new ApplicationConfig();
|
||||||
application.setName("consumer");
|
application.setName("consumer");
|
||||||
|
|
||||||
|
destroyCurrentDubboPort();
|
||||||
// 引用远程服务
|
// 引用远程服务
|
||||||
ReferenceConfig<OJWS> reference = new ReferenceConfig<>();
|
reference = new ReferenceConfig<>();
|
||||||
reference.setApplication(application);
|
reference.setApplication(application);
|
||||||
reference.setInterface(OJWS.class);
|
reference.setInterface(OJWS.class);
|
||||||
reference.setUrl(url); // 设置远程服务的 URL
|
reference.setUrl(url); // 设置远程服务的 URL
|
||||||
|
|
@ -64,7 +70,6 @@ public class Webservice implements java.rmi.Remote{
|
||||||
return reference.get();
|
return reference.get();
|
||||||
}
|
}
|
||||||
private void setDubbo(){
|
private void setDubbo(){
|
||||||
logger = common.Logger.getInstance();
|
|
||||||
String url = "dubbo://localhost:8080/edu.dhu.ws.OJWS";
|
String url = "dubbo://localhost:8080/edu.dhu.ws.OJWS";
|
||||||
JTextField ip=getDistributorField(0);
|
JTextField ip=getDistributorField(0);
|
||||||
JTextField port=getDistributorField(1);
|
JTextField port=getDistributorField(1);
|
||||||
|
|
@ -74,7 +79,8 @@ public class Webservice implements java.rmi.Remote{
|
||||||
{
|
{
|
||||||
JEditorPane infoPane=getJudgeInfoEditorPane(0);
|
JEditorPane infoPane=getJudgeInfoEditorPane(0);
|
||||||
if(!existDubbo&&infoPane!=null){
|
if(!existDubbo&&infoPane!=null){
|
||||||
infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"正在请求Dubbo服务...\n");
|
Control.addJudgeInfo(0,"正在请求Dubbo服务..");
|
||||||
|
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"正在请求Dubbo服务...\n");
|
||||||
logger.log("请求dubbo服务", common.LogLevel.INFO);
|
logger.log("请求dubbo服务", common.LogLevel.INFO);
|
||||||
}
|
}
|
||||||
dubboPort = initDubboPort(url);
|
dubboPort = initDubboPort(url);
|
||||||
|
|
@ -82,21 +88,22 @@ public class Webservice implements java.rmi.Remote{
|
||||||
|
|
||||||
}
|
}
|
||||||
catch(Exception e){
|
catch(Exception e){
|
||||||
JEditorPane infoPane=getJudgeInfoEditorPane(1);
|
Control.addExceptionInfo(1, e.getMessage());
|
||||||
infoPane.setText(infoPane.getText()+"\n"+LocalTime.now().toString()+e.getMessage()+"\n");
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
if(dubboPort!=null){
|
if(dubboPort!=null){
|
||||||
JEditorPane infoPane=getJudgeInfoEditorPane(0);
|
JEditorPane infoPane=getJudgeInfoEditorPane(0);
|
||||||
if(!existDubbo&&infoPane!=null)
|
if(!existDubbo&&infoPane!=null)
|
||||||
infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"\nDubbo服务连接成功!URL:"+url+"\n");
|
Control.addJudgeInfo(0,"Dubbo服务连接成功!URL:"+url);
|
||||||
|
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"\nDubbo服务连接成功!URL:"+url+"\n");
|
||||||
existDubbo=true;
|
existDubbo=true;
|
||||||
servicePort=dubboPort;
|
servicePort=dubboPort;
|
||||||
}else{
|
}else{
|
||||||
existDubbo=false;
|
existDubbo=false;
|
||||||
JEditorPane infoPane=getJudgeInfoEditorPane(1);
|
JEditorPane infoPane=getJudgeInfoEditorPane(1);
|
||||||
logger.log("请求dubbo服务失败", common.LogLevel.ERROR);
|
logger.log("请求dubbo服务失败", common.LogLevel.ERROR);
|
||||||
infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"\nDubbo服务连接失败!URL:"+url+"\n");
|
Control.addExceptionInfo(1,"Dubbo服务连接失败!URL:"+url);
|
||||||
|
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"\nDubbo服务连接失败!URL:"+url+"\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
//如果能使用dubbo服务就使用,不能的话就用原来的
|
//如果能使用dubbo服务就使用,不能的话就用原来的
|
||||||
|
|
@ -112,8 +119,8 @@ public class Webservice implements java.rmi.Remote{
|
||||||
if(!ENABLE_DUBBO){
|
if(!ENABLE_DUBBO){
|
||||||
try{
|
try{
|
||||||
|
|
||||||
webs = new OJWS_Service();
|
//webs = new OJWS_Service();
|
||||||
servicePort = webs.getOJWSImplPort();
|
//servicePort = webs.getOJWSImplPort();
|
||||||
}
|
}
|
||||||
catch(Exception e){
|
catch(Exception e){
|
||||||
logger.log(e.getMessage(), common.LogLevel.ERROR);
|
logger.log(e.getMessage(), common.LogLevel.ERROR);
|
||||||
|
|
@ -132,8 +139,8 @@ public class Webservice implements java.rmi.Remote{
|
||||||
}
|
}
|
||||||
if(!ENABLE_DUBBO){
|
if(!ENABLE_DUBBO){
|
||||||
try{
|
try{
|
||||||
webs = new OJWS_Service(url,qname);
|
//webs = new OJWS_Service(url,qname);
|
||||||
servicePort = webs.getOJWSImplPort();
|
//servicePort = webs.getOJWSImplPort();
|
||||||
|
|
||||||
}
|
}
|
||||||
catch(Exception e){
|
catch(Exception e){
|
||||||
|
|
@ -150,9 +157,9 @@ public class Webservice implements java.rmi.Remote{
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
catch(Exception e){
|
catch(Exception e){
|
||||||
logger.log(e.getMessage(), common.LogLevel.ERROR);
|
logger.log("getSolutions出错:"+e.getMessage(), common.LogLevel.ERROR);
|
||||||
Control.addExceptionInfo(1, LocalTime.now().toString()+e.getMessage()+"\n");
|
Control.addExceptionInfo(1, "getSolutions出错:"+e.getMessage()+"\n");
|
||||||
return "";
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public String getProblem(int arg)throws java.rmi.RemoteException{
|
public String getProblem(int arg)throws java.rmi.RemoteException{
|
||||||
|
|
@ -194,16 +201,16 @@ public class Webservice implements java.rmi.Remote{
|
||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static void main(String[] args) {
|
// public static void main(String[] args) {
|
||||||
Webservice ws=new Webservice();
|
// Webservice ws=new Webservice();
|
||||||
|
//
|
||||||
try {
|
// try {
|
||||||
System.out.println(ws.getProblem(75));
|
// System.out.println(ws.getProblem(75));
|
||||||
} catch (RemoteException ex) {
|
// } catch (RemoteException ex) {
|
||||||
Logger.getLogger(Webservice.class.getName()).log(Level.SEVERE, null, ex);
|
// Logger.getLogger(Webservice.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
//////P.S.部署到服务器时要注意账号密码修改
|
//////P.S.部署到服务器时要注意账号密码修改
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,8 @@
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe" D:\oj\JuderUI\test\output\Main.cpp /O2 /Fe:"D:\oj\JuderUI\test\output\main.exe"
|
||||||
|
|
||||||
|
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe" D:\oj\JuderUI\test\output\Main.cpp /O2 /Fe:"D:\oj\JuderUI\test\output\main.exe"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
call "$cvars64$" && "$compilerPath$/cl.exe" "$sourceFile$" /O2 /Fe:"$exeFile$"
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue