This commit is contained in:
Jared Ye 2025-02-10 23:21:07 +08:00
parent dae2ab2659
commit 7c7e861ff1
2107 changed files with 94160 additions and 12586 deletions

1
.gitignore vendored
View File

@ -29,3 +29,4 @@ client/nbproject/private/private.properties
*.class
*.class
*.7z
/client/dist/

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -10,29 +10,29 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ProjectColorInfo"><![CDATA[{
"associatedIndex": 6
}]]></component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 6
}</component>
<component name="ProjectId" id="2aiWf7bW87V3mbwTY6CfqHLJiX4" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"WebServerToolWindowFactoryState": "false",
"last_opened_file_path": "D:/OJ",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"settings.editor.selected.configurable": "vcs.Subversion",
"spring.configuration.checksum": "d41d8cd98f00b204e9800998ecf8427e",
"vue.rearranger.settings.migration": "true"
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;last_opened_file_path&quot;: &quot;D:/OJ&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;vcs.Subversion&quot;,
&quot;spring.configuration.checksum&quot;: &quot;d41d8cd98f00b204e9800998ecf8427e&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
}
}]]></component>
}</component>
<component name="RunManager">
<configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="client.test.Test1" />
@ -66,6 +66,7 @@
<option name="presentableId" value="Default" />
<updated>1704801979303</updated>
<workItem from="1704801980316" duration="598000" />
<workItem from="1719379629921" duration="24000" />
</task>
<servers />
</component>

17
.vscode/launch.json vendored Normal file
View File

@ -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.

BIN
Common/dist/Common.jar vendored

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
build.xml.data.CRC32=e5eafc6d
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.
# 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.script.CRC32=f31ce408
nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48
nbproject/build-impl.xml.script.CRC32=6e6b0703
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.113.0.48

View File

@ -6,4 +6,4 @@ do.jar=true
>>>>>>> 9424929ba4fe9afe21ab70bff638a1960335fa7f
javac.debug=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

View File

@ -4,16 +4,7 @@
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group name="最新版本代码"/>
<group>
<file>file:/K:/OJ/Common/src/common/EscapeXml.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>
<file>file:/D:/oj/Common/src/common/FileFinder.java</file>
</group>
</open-files>
</project-private>

View File

@ -19,8 +19,12 @@ build.test.results.dir=${build.dir}/test/results
#debug.transport=dt_socket
debug.classpath=\
${run.classpath}
debug.modulepath=\
${run.modulepath}
debug.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
dist.archive.excludes=
# This directory is removed when the project is cleaned:
@ -58,6 +62,8 @@ javac.classpath=\
javac.compilerargs=
javac.deprecation=false
javac.external.vm=false
javac.modulepath=
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
javac.source=1.8
@ -65,6 +71,8 @@ javac.target=1.8
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
javac.test.processorpath=\
${javac.test.classpath}
javadoc.additionalparam=
@ -78,7 +86,7 @@ javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=
main.class=common.DBConfig
main.class=common.LangSelector
meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=true
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.
# To set system properties for unit tests define test-sys-prop.name=value:
run.jvmargs=
run.modulepath=\
${javac.modulepath}
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
run.test.modulepath=\
${javac.test.modulepath}
source.encoding=UTF-8
src.dir=src
test.src.dir=test

View File

@ -70,12 +70,12 @@ private final static String FileName="DBConfig.properties";
public static void setPassword(String Password) {
dbConfig.setProperty("hibernate.connection.password", Password);
}
public static void main(String[] args) {
System.out.println(DBConfig.getUserName());
System.out.println(DBConfig.getPassword());
System.out.println(DBConfig.getIp());
}
//
// public static void main(String[] args) {
// System.out.println(DBConfig.getUserName());
// System.out.println(DBConfig.getPassword());
// System.out.println(DBConfig.getIp());
// }
public static void writeToFile(){
try {

View File

@ -9,6 +9,10 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
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.XPathConstants;
@ -17,6 +21,7 @@ import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@ -25,19 +30,11 @@ import org.w3c.dom.NodeList;
* @author Jared Ye
*/
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 Document Data;
public static boolean Loaded=false;
private static String lastLanguage; // 最后使用的语言
private static XPath xpath = XPathFactory.newInstance().newXPath();
static {
try {
@ -48,6 +45,99 @@ public abstract class LangSelector {
//初始化的时候没有读到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() {
String currentPath = System.getProperty("user.dir");
String configFile = "config.xml";
@ -81,6 +171,118 @@ public abstract class LangSelector {
public static String getConfigPath(){
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) {
try {
@ -122,7 +324,10 @@ public abstract class LangSelector {
public static String getDefaultCompilerName(String languageName){
languageName=parseStandardLanguageName(languageName);
if(customDefaultCompiler.containsKey(languageName))
return customDefaultCompiler.get(languageName);
{
return customDefaultCompiler.get(languageName);
}
//if(languageName.charAt(0)>='a')languageName
try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"/compiler[1]/@name";
@ -147,8 +352,51 @@ public abstract class LangSelector {
// LangSelector.ConfigPath=new File(LangSelector.ConfigPath).getAbsolutePath();
Document doc=db.parse(new File(LangSelector.ConfigPath));
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;
}
// 获取语言ID的辅助方法
public static String getLanguageIdFromAlias(String alias) {
return parseStandardLanguageName(alias);
}
public static List<String> getCompilerNames(String languageName){
languageName=parseStandardLanguageName(languageName);
@ -172,11 +420,13 @@ public abstract class LangSelector {
public static String getCompilerPath(String languageName,String compilerName) {
languageName=parseStandardLanguageName(languageName);
if(compilerName==null)compilerName=getDefaultCompilerName(languageName);
if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//path/text()";
return (String) xpath.evaluate(exp,Data);
} catch (XPathExpressionException e) {
System.out.println("null!");
System.out.println(e.getMessage());
return null;
}
@ -194,7 +444,7 @@ public abstract class LangSelector {
}
public static String getLinkCommand(String languageName,String compilerName){
languageName=parseStandardLanguageName(languageName);
if(compilerName==null)compilerName=getDefaultCompilerName(languageName);
if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//linkCmd/text()";
return (String) xpath.evaluate(exp,Data);
@ -205,7 +455,7 @@ public abstract class LangSelector {
}
public static String getRunCommand(String languageName,String compilerName){
languageName=parseStandardLanguageName(languageName);
if(compilerName==null)compilerName=getDefaultCompilerName(languageName);
if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//runCmd/text()";
return (String) xpath.evaluate(exp,Data);

View File

@ -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 路径");
}
}
}

View File

@ -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=

View File

@ -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>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<languages>
<language id="C++" alias="c++,c,cpp,CPP,C">
<language id="C++" alias="c++,cpp,CPP">
<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>
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
<linkCmd></linkCmd>
@ -11,30 +11,50 @@
<runCmd>$exeFile$</runCmd>
</compiler>
<compiler name="MinGW">
<path>K:\Dev-Cpp\MinGW64\bin</path>
<compileCmd>"$compilerPath$\g++" -Wall -g -c -std=c++1y "$sourceFile$" -o "$objFile$"</compileCmd>
<path>.\MinGW64\bin</path>
<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-->
<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-->
<runCmd>$exeFile$</runCmd>
</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 id="Java" alias="java,JAVA">
<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>
<linkCmd>g++.exe -o $exeFile$ $objFile$ -O1</linkCmd>
<linkCmd></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>
<compiler name="Python 3.12">
<path>.\python3.12</path>
<compileCmd> </compileCmd>
<linkCmd> </linkCmd>
<runCmd>$compilerPath$/python "$sourceFile$"</runCmd>

View File

@ -1,26 +1,26 @@
#update config.properties
#Wed May 08 22:08:03 CST 2024
srcDir=G\:\\org\\JuderUI\\test
isCppRelative=true
relativeJavaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin
#Mon Feb 10 21:10:14 GMT+08:00 2025
=\=\=\=\=\=\=
<<<<<<<=.mine
>>>>>>>=.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
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
exeDir=G\:\\org\\JuderUI\\TMP
MinGWDir=C\:\\MinGW\\bin
relativeCCompilerDir=\\MinGW\\bin
distributorIP=192.168.5.1
JavaRelative=3
>>>>>>>=.r76
isCppRelative=true
isJavaRelative=true
<<<<<<<=.mine
MinGWRelative=3
relativeCppCompilerDir=\\MinGW\\bin
javaCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin
JavaCompileDir=C\:\\Program Files\\Java\\jdk1.8.0_121\\bin
Debug=1
URLaddress=10.202.40.190
StartThreadAuto=false
=\=\=\=\=\=\=
cppCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin
relativeCCompilerDir=\\MinGW\\bin
relativeCppCompilerDir=\\MinGW\\bin
relativeJavaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin
srcDir=G\:\\org\\JuderUI\\test

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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>خّ

View File

@ -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

View File

View File

@ -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服务

View File

View File

View File

@ -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

14884
JuderUI/log/log_2024082714.txt Normal file

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

View File

File diff suppressed because it is too large Load Diff

26902
JuderUI/log/log_2025021021.txt Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
build.xml.data.CRC32=dfbf39b8
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.
# 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.script.CRC32=659c39b3
nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48
nbproject/build-impl.xml.script.CRC32=e468727d
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.113.0.48

View File

@ -3,5 +3,5 @@ do.depend=false
do.jar=true
javac.debug=true
javadoc.preview=true
project.Judger=K:\\OJ\\Judger
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
project.Judger=D:\\oj\\Judger
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties

View File

@ -22,15 +22,9 @@
<file>file:/E:/ojNew/JuderUI/src/data/MainForNet.java</file>
</group>
<group>
<file>file:/K:/OJ/JuderUI/src/myjdom/model/ResultBean.java</file>
<file>file:/K:/OJ/JuderUI/src/data/MainForNet.java</file>
<file>file:/K:/OJ/JuderUI/src/myjdom/AnswerToXml.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>
<file>file:/D:/oj/JuderUI/src/web/Webservice.java</file>
<file>file:/D:/oj/JuderUI/nbproject/build-impl.xml</file>
<file>file:/D:/oj/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetailResponse.java</file>
</group>
</open-files>
</project-private>

View File

@ -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>

View File

@ -5,6 +5,7 @@ annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=JuderUI
application.vendor=\u6bdb\u6cc9
auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# 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.classpath=\
${run.classpath}
debug.modulepath=\
${run.modulepath}
debug.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
dist.archive.excludes=
# This directory is removed when the project is cleaned:
@ -136,6 +141,8 @@ javac.classpath=\
javac.compilerargs=
javac.deprecation=false
javac.external.vm=true
javac.modulepath=
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
javac.source=1.8
@ -143,6 +150,8 @@ javac.target=1.8
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
javac.test.processorpath=\
${javac.test.classpath}
javadoc.additionalparam=
@ -184,9 +193,13 @@ run.classpath=\
# 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:
run.jvmargs=
run.modulepath=\
${javac.modulepath}
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
run.test.modulepath=\
${javac.test.modulepath}
source.encoding=GBK
src.dir=src
test.src.dir=test

View File

@ -1 +1 @@
"%JAVA_HOME%\bin\javaw" -jar .\dist\JuderUI.jar
"C:\Program Files\Java\jre1.8.0_421\bin\javaw" -jar .\dist\JuderUI.jar

View File

@ -1,5 +1,7 @@
package cache;
import common.LogLevel;
import common.Logger;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
@ -9,7 +11,7 @@ public class ProblemsCachManager {
private BaseCache cache;
private static ProblemsCachManager instance;
private static Object lock = new Object();
private static Logger logger=Logger.getInstance();
private ProblemsCachManager() {
// 这个根据配置文件来初始BaseCache而已;
Properties prop = new Properties();
@ -36,10 +38,12 @@ public class ProblemsCachManager {
}
public void putObject(String key, Object value) { // key以classId_examId
logger.log("已放入缓存"+key, LogLevel.INFO);
cache.put(key, value);
}
public void removeObject(String key) {
logger.log("已移除缓存"+key, LogLevel.INFO);
cache.remove(key);
}
@ -52,6 +56,7 @@ public class ProblemsCachManager {
// 从Cache中获得
return cache.get(key);
} catch (Exception e) {
logger.log("获取缓存出错:"+key+"e:"+e.getMessage(), LogLevel.ERROR);
// Cache中没有则从DB库获取
// 数据库中读取数据
// 把获取的对象再次存入Cache中

View File

@ -7,6 +7,7 @@ package data;
import cache.ProblemsCachManager;
import common.Const;
import common.LogLevel;
import gui.Control;
import java.awt.EventQueue;
import java.util.ArrayList;
@ -41,18 +42,22 @@ public class JudgeFromQueue extends Thread {
public Queue<Solution> queue = null;
private Solutions solutions;
private List<ProblemTestCaseBean> testCaseBeans = null;
private Map<String, ProblemBean> problemBeanMap = null;
public Map<String, ProblemBean> problemBeanMap = null;//用来存放题目信息的map
private Lock lock;
private int threadNo;
common.Logger logger;
public JudgeFromQueue(int threadNo) {
logger = common.Logger.getInstance();
logger.log("JudgeFromQueue:threadNo="+String.valueOf(threadNo), LogLevel.INFO);
this.threadNo = threadNo;
}
@Override
public void run() {
logger.log("JudgeFromQueue:线程"+String.valueOf(this.threadNo)+"开始运行", LogLevel.INFO);
while (Control.threadCountsManager[threadNo] || !Control.queue.isEmpty() && Control.threadCountsManager[0] == false) {
//logger.log("JudgeFromQueue:线程"+String.valueOf(this.threadNo)+"开始运行,循环", LogLevel.INFO);
try {
if (Control.queue.isEmpty()) {
Thread.sleep(1000);
@ -61,9 +66,10 @@ public class JudgeFromQueue extends Thread {
Solution s = null;
synchronized (Control.queue) {
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();
System.out.println("pollÍê³É");
//System.out.println("poll完成");
//Swing不是线程安全的invoke方法立即返回而run方法被异步执行
EventQueue.invokeLater(() -> {
Control.setGuiQueueSize("" + Control.queue.size());
@ -77,9 +83,11 @@ public class JudgeFromQueue extends Thread {
System.out.println("获取promblem完成");
System.out.println("开始裁判");
Judge(s);
//为了测试临时删除裁判功能
System.out.println("裁判完成");
}
} catch (Exception ex) {
logger.log("JudgeFromQueue:线程"+String.valueOf(this.threadNo)+"错误"+ex.getMessage(), LogLevel.ERROR);
ex.printStackTrace();
EventQueue.invokeLater(() -> {
Control.addExceptionInfo(threadNo, ex.toString());
@ -91,6 +99,9 @@ public class JudgeFromQueue extends Thread {
Control.setTabbStopTitle(threadNo);
Control.addJudgeInfo(threadNo, "线程" + threadNo + "stop success\n");
});
//判断该停止的线程已经停止
int i = 1;
boolean runFlag = false;
@ -138,7 +149,7 @@ public class JudgeFromQueue extends Thread {
String problemId = s.getProblemId();
String language = s.getLanguage();
String sourceCode = s.getCode();
String compiler=s.getCompiler();
String compiler = s.getCompiler();
Float timeOut = problemBeanMap.get(problemId).getTimeOut();
List<ProblemTestCaseBean> testCaseBeanList = problemBeanMap.get(problemId).getTestCaseBeanList();
@ -150,9 +161,11 @@ public class JudgeFromQueue extends Thread {
}
private void getWebServiceProblems(String problemId) throws Exception {
//if(problemBeanMap==null||problemBeanMap.size()>100)//需要让Map有一定缓存而不是每次都进行初始化//new:如果不每次都初始化可能内存泄漏
problemBeanMap = new HashMap<>();
ProblemBean problemBean = new ProblemBean();
XmlToProblemBean xtp = new XmlToProblemBean();
ProblemsCachManager problemsCachManager = ProblemsCachManager
.getInstance();
String problem = (String) problemsCachManager
@ -160,8 +173,7 @@ public class JudgeFromQueue extends Thread {
if (problem == null) {
try{
problem = Control.getWebService().getProblem(Integer.parseInt(problemId));
problemsCachManager.putObject("problemId" + problemId,
problem);
problemsCachManager.putObject("problemId" + problemId, problem);
}catch(Exception e){
Result.status = Const.SE;
CompileInfo.remark = "获取题目信息失败!请联系管理人员。错误信息:"+e.getMessage();
@ -221,14 +233,20 @@ public class JudgeFromQueue extends Thread {
List<ProblemTestCaseBean> wrongCase = new ArrayList<>();
List<String> testCaseList = Arrays.asList(answer.getTestCaseId());
List<String> correctList = Arrays.asList(answer.getCorrectCaseIds().split(","));
for (int i = 0; i < testCaseList.size(); i++) {
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);
if(rb.getStatus().equals("CE")){//如果是CE就不输出具体信息
//
}
else{
for (int i = 0; i < testCaseList.size(); i++) {
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);
AnswerToXml rtx = new AnswerToXml(rb);
xml = rtx.convertXML();
@ -240,7 +258,7 @@ public class JudgeFromQueue extends Thread {
xtr.readXmlString(request);
Request req = xtr.convertXML();
logger.log("提交完成", common.LogLevel.INFO);
System.out.println("Ìá½»Íê³É");
//System.out.println("提交完成");
Control.addJudgeInfo(threadNo, "server result:" + req.getRspMsg());
// Control.addJudgeInfo("ok");
} catch (Exception e) {

View File

@ -5,11 +5,15 @@
*/
package data;
import common.Const;
import common.LogLevel;
import common.Logger;
import gui.Control;
import static gui.Control.getJudgeInfoEditorPane;
import java.awt.EventQueue;
import java.net.URL;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.Lock;
@ -19,6 +23,7 @@ import myjdom.model.Solution;
import myjdom.model.Solutions;
import myjdom.model.ProblemBean;
import persistence.oj_beans.ProblemTestCaseBean;
import resultData.Result;
import web.Webservice;
import static web.Webservice.existDubbo;
@ -36,6 +41,7 @@ public class MainForNet extends Thread {
private int previousSId = -1;
public Solutions solutions;
private Lock lock;
private static Logger logger=Logger.getInstance();
// private String ip = "127.0.0.1";
// private int port = 5000;
@ -51,10 +57,13 @@ public class MainForNet extends Thread {
Thread.sleep(500);
continue;
}
System.out.println("开始获取solution");
List<Solution> list = getWebServiceSolutions();
System.out.println("获取slolutin数量"+list.size());
List<Solution> list=new ArrayList<>();
synchronized(Control.refreshLock){//加锁避免在获取solution时遇到线程刷新
System.out.println("开始获取solution");
list = getWebServiceSolutions();
System.out.println("获取slolutin数量"+list.size());
}
// getServerObject();
if (list.size() == 0) {
Thread.sleep(3000);
@ -95,7 +104,8 @@ public class MainForNet extends Thread {
}
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;
try{
@ -104,9 +114,16 @@ public class MainForNet extends Thread {
catch(Exception ex){
ex.printStackTrace();
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();
xts.readXmlString(xml);

View File

@ -6,6 +6,8 @@
package gui;
import common.Config;
import common.LogLevel;
import common.Logger;
import data.JudgeFromQueue;
import java.io.File;
import java.io.IOException;
@ -43,11 +45,11 @@ public class Control {
public static Queue<Solution> queue = null;
public static boolean[] threadCountsManager; //线程数目管理
public static boolean[] threadState;//线程状态
private static final Logger logger=Logger.getInstance();
public static MainFrame getMainFrame() {
return mainFrame;
}
public final static Object refreshLock=new Object();//作为线程刷新的锁如果没有锁就不能重启线程
public static void setMainFrame(MainFrame mainFrame) {
Control.mainFrame = mainFrame;
}
@ -81,16 +83,17 @@ public class Control {
public static boolean managerThreadCounts(String s) {
for (int i = 1; i <= 4; i++) {
int a = Integer.parseInt(s);
logger.log("managerThreadCounts:a="+s, LogLevel.INFO);
//原来停止的现在要启动
if (i <= a) {
//启动线程
if (threadCountsManager[i] == false) {
threadCountsManager[i] = true;
threadState[i] = true;
mainFrame.threadManagerTabb.setTitleAt(i, "线程正在运行");
judgeFromQueue = new JudgeFromQueue(i);
judgeFromQueue.start();
}
//启动线程
if (threadCountsManager[i] == false) {
threadCountsManager[i] = true;
threadState[i] = true;
mainFrame.threadManagerTabb.setTitleAt(i, "线程正在运行");
judgeFromQueue = new JudgeFromQueue(i);
judgeFromQueue.start();
}
} else //原来运行的现在要停止
if (threadCountsManager[i] == true) {
threadCountsManager[i] = false;
@ -111,9 +114,9 @@ public class Control {
runflag = 0; //设置线程状态关闭
// mainFrame.buttonCompilersConfig.setEnabled(true);//恢复编译器配置按钮
// mainFrame.buttonCompilersConfig1.setEnabled(true);
mainFrame.jButton2.setEnabled(true);//设置编辑配置文件
mainFrame.jButton2.setEnabled(true);//设置编辑配置文件
mainFrame.jLabel14.setText("已关闭 ");//更新UI状态
}
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) {
case 0:
return mainFrame.distributorIP;
@ -133,6 +136,7 @@ public class Control {
return mainFrame.distributorPort;
}
}
public static JEditorPane getJudgeInfoEditorPane(int a) {
switch (a) {
case 1:
@ -159,7 +163,7 @@ public class Control {
// String s=mainFrame.jComboBox1.getSelectedItem().toString();
int counts = 1;
threadCountsManager[0] = false; //关闭获取test线程
logger.log("线程已关闭,总数:"+String.valueOf(threadCountsManager.length), LogLevel.INFO);
//关闭裁判线程
for (; j <= 1; j++) {
if (threadCountsManager[j] == true) {
@ -170,30 +174,29 @@ public class Control {
return true;
} catch (Exception e) {
Control.addExceptionInfo(j, e.toString());
logger.log("异常:"+e.toString(), LogLevel.ERROR);
return false;
}
}
@SuppressWarnings("empty-statement")
public static boolean startJudgerForNet(String ip, int port) {
queue = new LinkedList<>();
if(queue==null)//此举是为了让原本queue不为空时solution可以得到保存
queue = new LinkedList<>();
// mainFrame.jLabel2.setText(""+queue.size());
// mainNet = new MainForNet(ip, port);
mainNet = new MainForNet();//获取问题到队列
threadCountsManager[0] = true;
mainNet.start()
;
mainNet.start();
String a = mainFrame.jComboBox1.getSelectedItem().toString();
return managerThreadCounts(a);
}
public static void addJudgeInfo(int a, String info) {
//信息框中信息超过2000行自动清洗屏幕
Element map = getJudgeInfoEditorPane(a).getDocument().getDefaultRootElement();
if (map.getElementCount() == 2000) {
if (getExceptionEditorPane(a).getText().split("\n").length>=max_lines) {
clearInfo(a);
}
int pos = 1;//光标位置标记
@ -205,35 +208,55 @@ public class Control {
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) {
getJudgeInfoEditorPane(a).setText("");
getExceptionEditorPane(a).setText("");
getJudgeInfoEditorPane(a).setText(getFirstNLines(getJudgeInfoEditorPane(a).getText(), max_lines));
getExceptionEditorPane(a).setText(getFirstNLines(getExceptionEditorPane(a).getText(), max_lines));
}
public static void addExceptionInfo(int a, String info) {
//信息框中信息超过2000行自动清洗屏幕
Element map = getExceptionEditorPane(a).getDocument().getDefaultRootElement();
if (map.getElementCount() == 2000) {
if (getExceptionEditorPane(a).getText().split("\n").length>=max_lines) {
clearInfo(a);
}
int pos = 1;//光标位置标记
String preInfo = getExceptionEditorPane(a).getText();
preInfo = getDetailTime() + preInfo + "\n" + info;
preInfo = getDetailTime()+ info+ "\n" + preInfo ;
getExceptionEditorPane(a).setText(preInfo);
//使焦点确定在第一行的最新信息
getExceptionEditorPane(a).setSelectionStart(pos);
getExceptionEditorPane(a).setSelectionEnd(pos);
}
public static String getChooseDirectory() {
return getChooseDirectory("a");
}
public static String getCppCompilerName(){
public static String getCppCompilerName() {
return mainFrame.getSelectedCppCompilerName();
}
public static String getJavaCompilerName(){
public static String getJavaCompilerName() {
return mainFrame.getSelectedJavaCompilerName();
}
public static String getChooseDirectory(String lan) {
try {

View File

@ -99,7 +99,9 @@
<Component id="jLabel17" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" 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"/>
<EmptySpace 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"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="1" attributes="0">
<Component id="button_StartThread" min="-2" max="-2" attributes="0"/>
<Component id="threadManagerTabb" min="-2" pref="945" max="-2" attributes="0"/>
</Group>
<Component id="threadManagerTabb" min="-2" pref="945" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group>
</Group>
@ -262,7 +261,11 @@
<StringItem index="3" value="4"/>
</StringArray>
</Property>
<Property name="opaque" type="boolean" value="false"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jComboBox1ActionPerformed"/>
</Events>
<AuxValues>
<AuxValue name="JavaCodeGenerator_AddingCodePost" type="java.lang.String" value="jComboBox1.setVisible(false);"/>
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
@ -462,6 +465,7 @@
<Component class="javax.swing.JButton" name="button_StartThread">
<Properties>
<Property name="text" type="java.lang.String" value="&#x8bbe;&#x7f6e;"/>
<Property name="opaque" type="boolean" value="false"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="button_StartThreadActionPerformed"/>

View File

@ -9,16 +9,22 @@ import cache.ProblemsCachManager;
import common.Config;
import common.FileFinder;
import common.LangSelector;
import common.LogLevel;
import common.Logger;
import static gui.Control.getJudgeInfoEditorPane;
import java.awt.Component;
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.Timer;
import javax.xml.namespace.QName;
import share.gui.NewCompileSetting;
import web.Dubboservice;
@ -29,6 +35,7 @@ import web.Webservice;
* @author Administrator
*/
public class MainFrame extends javax.swing.JFrame {
private Logger logger=Logger.getInstance();
/**
* Creates new form MainFrame
@ -70,15 +77,35 @@ public class MainFrame extends javax.swing.JFrame {
});
comboCppCompiler.removeAllItems();
comboJavaCompiler.removeAllItems();
List<String> cppCompilers=LangSelector.getCompilerNames("C++");
for(int i=0;i<cppCompilers.size();++i){
List<String> cppCompilers = LangSelector.getCompilerNames("C++");
for (int i = 0; i < cppCompilers.size(); ++i) {
comboCppCompiler.addItem(cppCompilers.get(i));
}
List<String> javaCompilers=LangSelector.getCompilerNames("Java");
for(int i=0;i<javaCompilers.size();++i){
List<String> javaCompilers = LangSelector.getCompilerNames("Java");
for (int i = 0; i < javaCompilers.size(); ++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("线程数量:");
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("一般信息:");
@ -241,6 +274,7 @@ public class MainFrame extends javax.swing.JFrame {
threadManagerTabb.addTab("线程[未运行]", jPanel6);
button_StartThread.setText("设置");
button_StartThread.setOpaque(false);
button_StartThread.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
button_StartThreadActionPerformed(evt);
@ -340,7 +374,9 @@ public class MainFrame extends javax.swing.JFrame {
.addComponent(jLabel17)
.addGap(18, 18, 18)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGap(30, 30, 30)
.addComponent(button_StartThread)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.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(21, 21, 21))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(button_StartThread)
.addComponent(threadManagerTabb, javax.swing.GroupLayout.PREFERRED_SIZE, 945, javax.swing.GroupLayout.PREFERRED_SIZE))
.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)))
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 1, Short.MAX_VALUE))
);
@ -455,7 +489,8 @@ public class MainFrame extends javax.swing.JFrame {
try {
LangSelector.init();
} 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()) {
return;
@ -474,7 +509,7 @@ public class MainFrame extends javax.swing.JFrame {
this.buttonStop.setEnabled(true);
this.button_StartThread.setEnabled(true);
this.jCheckBox2.setEnabled(false);
Webservice.existDubbo=false;
Webservice.existDubbo = false;
// if(!Dubboservice.running){
// Dubboservice.main(null);
// 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
// TODO add your handling code here:
for (int i = 0; i <= 4; i++) {
Control.clearInfo(i);
getJudgeInfoEditorPane(i).setText("");
}
}//GEN-LAST:event_jLabel17MouseClicked
private boolean checkForCompile() {
//String tmp = null;
//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")) {
//弹窗设置保存
//弹窗设置保存
// JOptionPane.showMessageDialog(this, "请先配置C/C++编译器");
// JOptionPane.showMessageDialog(this, "请先配置C/C++编译器");
// NewCompileSetting window = new NewCompileSetting("c", this, true);
// window.setVisible(true);
// 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")) {
// JOptionPane.showMessageDialog(this, "请先配置Java编译器");
// NewCompileSetting window = new NewCompileSetting("java", this, true);
// window.setVisible(true);
@ -516,10 +549,12 @@ public class MainFrame extends javax.swing.JFrame {
//}
return true;
}
public String getSelectedCppCompilerName(){
public String getSelectedCppCompilerName() {
return comboCppCompiler.getSelectedItem().toString();
}
public String getSelectedJavaCompilerName(){
public String getSelectedJavaCompilerName() {
return comboJavaCompiler.getSelectedItem().toString();
}
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.removeAllObject();
JOptionPane.showMessageDialog(this, "缓存清除成功");
}//GEN-LAST:event_jButton1ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
Desktop desktop = Desktop.getDesktop();
try {
// 打开文件
desktop.open(new File(LangSelector.getConfigPath()));
try {
// 打开文件
desktop.open(new File(LangSelector.getConfigPath()));
// desktop.open(FileFinder.findFile("ConfigEditor.exe")));
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}//GEN-LAST:event_jButton2ActionPerformed
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
private void comboCppCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboCppCompilerActionPerformed
try{
try {
LangSelector.setDefaultCompiler("C++", comboCppCompiler.getSelectedItem().toString());
}
catch(Exception e){
} catch (Exception e) {
//e.printStackTrace();
}
}//GEN-LAST:event_comboCppCompilerActionPerformed
private void comboJavaCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboJavaCompilerActionPerformed
try{
try {
LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
}
catch(Exception e){
} catch (Exception e) {
}
}//GEN-LAST:event_comboJavaCompilerActionPerformed
@ -580,6 +613,10 @@ public class MainFrame extends javax.swing.JFrame {
//LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
}//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() {
this.distributorIP.setText(Config.getValue("distributorIP"));
this.distributorPort.setText(Config.getValue("distributorPort"));

View File

@ -5,7 +5,7 @@
*/
package myjdom;
import com.sun.media.jfxmedia.logging.Logger;
import java.util.ArrayList;
import java.util.List;
import myjdom.model.Solution;
@ -49,7 +49,7 @@ public class XmlToSolution extends XmlToBase implements XmlConvert<Solutions> {
}
if (e.getElementsByTagName("compiler").item(0) != null) {
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());
}/////NEW

View File

@ -7,7 +7,6 @@ package web;
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ReferenceConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import util.Decrypt;
import edu.dhu.ws.OJWS;
import edu.dhu.ws.OJWS_Service;
@ -17,18 +16,13 @@ import static gui.Control.getJudgeInfoEditorPane;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import java.time.LocalTime;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.swing.JEditorPane;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.xml.namespace.QName;
import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.boot.logging.LogLevel;
/**
*
* @author ytxlo
@ -39,6 +33,7 @@ public class Webservice implements java.rmi.Remote{
private OJWS servicePort;
public static boolean ENABLE_DUBBO=true;
public static boolean existDubbo=false;
private static ReferenceConfig<OJWS> reference = null;
//@DubboReference(url = "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
@ -48,14 +43,25 @@ public class Webservice implements java.rmi.Remote{
//@DubboReference(url = "dubbo://10.10.10.1:20880/edu.dhu.ws.OJWS")
//@Resource
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) {
// 应用配置
ApplicationConfig application = new ApplicationConfig();
application.setName("consumer");
destroyCurrentDubboPort();
// 引用远程服务
ReferenceConfig<OJWS> reference = new ReferenceConfig<>();
reference = new ReferenceConfig<>();
reference.setApplication(application);
reference.setInterface(OJWS.class);
reference.setUrl(url); // 设置远程服务的 URL
@ -64,7 +70,6 @@ public class Webservice implements java.rmi.Remote{
return reference.get();
}
private void setDubbo(){
logger = common.Logger.getInstance();
String url = "dubbo://localhost:8080/edu.dhu.ws.OJWS";
JTextField ip=getDistributorField(0);
JTextField port=getDistributorField(1);
@ -74,7 +79,8 @@ public class Webservice implements java.rmi.Remote{
{
JEditorPane infoPane=getJudgeInfoEditorPane(0);
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);
}
dubboPort = initDubboPort(url);
@ -82,21 +88,22 @@ public class Webservice implements java.rmi.Remote{
}
catch(Exception e){
JEditorPane infoPane=getJudgeInfoEditorPane(1);
infoPane.setText(infoPane.getText()+"\n"+LocalTime.now().toString()+e.getMessage()+"\n");
Control.addExceptionInfo(1, e.getMessage());
e.printStackTrace();
}
if(dubboPort!=null){
JEditorPane infoPane=getJudgeInfoEditorPane(0);
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;
servicePort=dubboPort;
}else{
existDubbo=false;
JEditorPane infoPane=getJudgeInfoEditorPane(1);
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服务就使用不能的话就用原来的
@ -112,8 +119,8 @@ public class Webservice implements java.rmi.Remote{
if(!ENABLE_DUBBO){
try{
webs = new OJWS_Service();
servicePort = webs.getOJWSImplPort();
//webs = new OJWS_Service();
//servicePort = webs.getOJWSImplPort();
}
catch(Exception e){
logger.log(e.getMessage(), common.LogLevel.ERROR);
@ -132,8 +139,8 @@ public class Webservice implements java.rmi.Remote{
}
if(!ENABLE_DUBBO){
try{
webs = new OJWS_Service(url,qname);
servicePort = webs.getOJWSImplPort();
//webs = new OJWS_Service(url,qname);
//servicePort = webs.getOJWSImplPort();
}
catch(Exception e){
@ -150,9 +157,9 @@ public class Webservice implements java.rmi.Remote{
return s;
}
catch(Exception e){
logger.log(e.getMessage(), common.LogLevel.ERROR);
Control.addExceptionInfo(1, LocalTime.now().toString()+e.getMessage()+"\n");
return "";
logger.log("getSolutions出错:"+e.getMessage(), common.LogLevel.ERROR);
Control.addExceptionInfo(1, "getSolutions出错:"+e.getMessage()+"\n");
throw e;
}
}
public String getProblem(int arg)throws java.rmi.RemoteException{
@ -194,16 +201,16 @@ public class Webservice implements java.rmi.Remote{
return string;
}
}
public static void main(String[] args) {
Webservice ws=new Webservice();
try {
System.out.println(ws.getProblem(75));
} catch (RemoteException ex) {
Logger.getLogger(Webservice.class.getName()).log(Level.SEVERE, null, ex);
}
}
// public static void main(String[] args) {
// Webservice ws=new Webservice();
//
// try {
// System.out.println(ws.getProblem(75));
// } catch (RemoteException ex) {
// Logger.getLogger(Webservice.class.getName()).log(Level.SEVERE, null, ex);
//
// }
// }
}
//////P.S.部署到服务器时要注意账号密码修改

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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$"

Some files were not shown because too many files have changed in this diff Show More