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

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.data.CRC32=e5eafc6d
build.xml.script.CRC32=35a5ea50 build.xml.script.CRC32=35a5ea50
build.xml.stylesheet.CRC32=8064a381@1.79.1.48 build.xml.stylesheet.CRC32=f85dc8f2@1.113.0.48
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=e5eafc6d nbproject/build-impl.xml.data.CRC32=e5eafc6d
nbproject/build-impl.xml.script.CRC32=f31ce408 nbproject/build-impl.xml.script.CRC32=6e6b0703
nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.113.0.48

View File

@ -6,4 +6,4 @@ do.jar=true
>>>>>>> 9424929ba4fe9afe21ab70bff638a1960335fa7f >>>>>>> 9424929ba4fe9afe21ab70bff638a1960335fa7f
javac.debug=true javac.debug=true
javadoc.preview=true javadoc.preview=true
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties

View File

@ -4,16 +4,7 @@
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group name="最新版本代码"/> <group name="最新版本代码"/>
<group> <group>
<file>file:/K:/OJ/Common/src/common/EscapeXml.java</file> <file>file:/D:/oj/Common/src/common/FileFinder.java</file>
<file>file:/K:/OJ/Common/src/log/Log.java</file>
<file>file:/K:/OJ/Common/src/common/Config.java</file>
<file>file:/K:/OJ/Common/src/common/DBConfig.java</file>
<file>file:/K:/OJ/Common/src/persistence/oj_beans/ProblemTestCaseBean.java</file>
<file>file:/K:/OJ/Common/src/common/FileFinder.java</file>
<file>file:/K:/OJ/Common/src/common/LogLevel.java</file>
<file>file:/K:/OJ/Common/src/common/TimeTool.java</file>
<file>file:/K:/OJ/Common/src/common/Logger.java</file>
<file>file:/K:/OJ/Common/src/common/LangSelector.java</file>
</group> </group>
</open-files> </open-files>
</project-private> </project-private>

View File

@ -19,8 +19,12 @@ build.test.results.dir=${build.dir}/test/results
#debug.transport=dt_socket #debug.transport=dt_socket
debug.classpath=\ debug.classpath=\
${run.classpath} ${run.classpath}
debug.modulepath=\
${run.modulepath}
debug.test.classpath=\ debug.test.classpath=\
${run.test.classpath} ${run.test.classpath}
debug.test.modulepath=\
${run.test.modulepath}
# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 # build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6
dist.archive.excludes= dist.archive.excludes=
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
@ -58,6 +62,8 @@ javac.classpath=\
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.external.vm=false javac.external.vm=false
javac.modulepath=
javac.processormodulepath=
javac.processorpath=\ javac.processorpath=\
${javac.classpath} ${javac.classpath}
javac.source=1.8 javac.source=1.8
@ -65,6 +71,8 @@ javac.target=1.8
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
javac.test.processorpath=\ javac.test.processorpath=\
${javac.test.classpath} ${javac.test.classpath}
javadoc.additionalparam= javadoc.additionalparam=
@ -78,7 +86,7 @@ javadoc.splitindex=true
javadoc.use=true javadoc.use=true
javadoc.version=false javadoc.version=false
javadoc.windowtitle= javadoc.windowtitle=
main.class=common.DBConfig main.class=common.LangSelector
meta.inf.dir=${src.dir}/META-INF meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=true mkdist.disabled=true
platform.active=default_platform platform.active=default_platform
@ -89,9 +97,13 @@ run.classpath=\
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
# To set system properties for unit tests define test-sys-prop.name=value: # To set system properties for unit tests define test-sys-prop.name=value:
run.jvmargs= run.jvmargs=
run.modulepath=\
${javac.modulepath}
run.test.classpath=\ run.test.classpath=\
${javac.test.classpath}:\ ${javac.test.classpath}:\
${build.test.classes.dir} ${build.test.classes.dir}
run.test.modulepath=\
${javac.test.modulepath}
source.encoding=UTF-8 source.encoding=UTF-8
src.dir=src src.dir=src
test.src.dir=test test.src.dir=test

View File

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

View File

@ -9,6 +9,10 @@ import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.XPath; import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathConstants;
@ -17,6 +21,7 @@ import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory; import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
@ -25,19 +30,11 @@ import org.w3c.dom.NodeList;
* @author Jared Ye * @author Jared Ye
*/ */
public abstract class LangSelector { public abstract class LangSelector {
//
private static Map<String,String>customDefaultCompiler;
public static String getDefaultCompiler(String language) {
return customDefaultCompiler.get(language);
}
public static void setDefaultCompiler(String language,String compiler) {
customDefaultCompiler.put(language, compiler);
}
private static String ConfigPath=""; private static String ConfigPath="";
private static Document Data; private static Document Data;
public static boolean Loaded=false; public static boolean Loaded=false;
private static String lastLanguage; // 最后使用的语言
private static XPath xpath = XPathFactory.newInstance().newXPath(); private static XPath xpath = XPathFactory.newInstance().newXPath();
static { static {
try { try {
@ -48,6 +45,99 @@ public abstract class LangSelector {
//初始化的时候没有读到config.xml //初始化的时候没有读到config.xml
} }
} }
//
private static Map<String,String>customDefaultCompiler;
// by san_san
public static String getDefaultCompiler(String language) {
try {
String xpathExpr = String.format("/languages/language[@id='%s']/lastCompiler", language);
Node lastCompilerNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
if (lastCompilerNode != null) {
return lastCompilerNode.getTextContent();
}
} catch (XPathExpressionException e) {
e.printStackTrace();
}
return customDefaultCompiler.get(language);
}
public static void setDefaultCompiler(String language,String compiler) {
customDefaultCompiler.put(language, compiler);
try {
// 更新 XML 中的 lastCompiler 节点
String xpathExpr = String.format("/languages/language[@id='%s']", language);
Node languageNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
if (languageNode != null) {
Element languageElement = (Element) languageNode;
Node lastCompilerNode = (Node) xpath.evaluate("lastCompiler", languageElement, XPathConstants.NODE);
if (lastCompilerNode == null) {
// 如果 lastCompiler 节点不存在创建它
lastCompilerNode = Data.createElement("lastCompiler");
languageElement.appendChild(lastCompilerNode);
}
lastCompilerNode.setTextContent(compiler);
}
} catch (XPathExpressionException e) {
e.printStackTrace();
}
}
//
// by san_san
// 获取最后使用的语言
public static String getLastLanguage() {
try {
String xpathExpr = "/languages/lastLanguage";
Node lastLanguageNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
if (lastLanguageNode != null) {
return lastLanguageNode.getTextContent();
}
} catch (XPathExpressionException e) {
e.printStackTrace();
}
return null;
}
// 设置最后使用的语言
public static void setLastLanguage(String language) {
try {
// 标准化语言名称
String standardLanguage = parseStandardLanguageName(language);
// 查找现有的 lastLanguage 节点
String xpathExpr = "/languages/lastLanguage";
Node lastLanguageNode = (Node) xpath.evaluate(xpathExpr, Data, XPathConstants.NODE);
if (lastLanguageNode != null) {
// 如果节点存在更新内容
lastLanguageNode.setTextContent(standardLanguage);
} else {
// 如果节点不存在创建新节点
Element root = Data.getDocumentElement();
Element newLastLanguage = Data.createElement("lastLanguage");
newLastLanguage.setTextContent(standardLanguage);
root.appendChild(newLastLanguage);
}
// 更新内存中的值
lastLanguage = standardLanguage;
// 保存到文件
save(ConfigPath);
} catch (Exception e) {
e.printStackTrace();
}
}
private static String findConfigFilePath() { private static String findConfigFilePath() {
String currentPath = System.getProperty("user.dir"); String currentPath = System.getProperty("user.dir");
String configFile = "config.xml"; String configFile = "config.xml";
@ -81,6 +171,118 @@ public abstract class LangSelector {
public static String getConfigPath(){ public static String getConfigPath(){
return ConfigPath; return ConfigPath;
} }
/////////////////////////////////新增的逻辑
public static void save(String filePath) throws Exception {
Document doc = Data;
// 创建TransformerFactory实例
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
// 将Document转换为DOMSource
DOMSource source = new DOMSource(doc);
// 创建StreamResult以保存到文件
StreamResult result = new StreamResult(new File(filePath));
// 执行转换并写入文件
transformer.transform(source, result);
System.out.println("XML 文件保存成功: " + filePath);
}
public static boolean setCompilerPath(String languageName, String compilerName, String newPath) {
languageName = parseStandardLanguageName(languageName);
if (compilerName == null || compilerName.trim().equals("")) {
compilerName = getDefaultCompilerName(languageName);
}
try {
// 定义XPath表达式来找到对应的编译器path节点
String exp = "/languages/language" + "[@id='" + languageName + "']" + "//compiler[@name='" + compilerName + "']//path";
// 使用XPath查找对应节点
Node pathNode = (Node) xpath.evaluate(exp, Data, XPathConstants.NODE);
// 检查path节点是否存在
if (pathNode != null) {
// 设置新路径
pathNode.setTextContent(newPath);
return true; // 返回true表示设置成功
} else {
System.out.println("找不到指定的编译器路径节点");
return false;
}
} catch (XPathExpressionException e) {
System.out.println(e.getMessage());
return false;
}
}
public static void setCompileCommand(String languageName, String compilerName, String compileCommand) {
Document doc=Data;
languageName = parseStandardLanguageName(languageName);
if (compilerName == null || compilerName.trim().equals("")) {
compilerName = getDefaultCompilerName(languageName);
}
try {
String exp = "/languages/language[@id='" + languageName + "']//compiler[@name='" + compilerName + "']//compileCmd";
// 获取节点
Node compileCmdNode = (Node) xpath.evaluate(exp, Data, XPathConstants.NODE);
if (compileCmdNode != null) {
compileCmdNode.setTextContent(compileCommand);
} else {
// 创建新节点逻辑
// 这里的实现取决于你的 XML 结构假设我们有 Document 对象 doc
Element newCompilerElement = doc.createElement("compiler");
newCompilerElement.setAttribute("name", compilerName);
Element newCompileCmdElement = doc.createElement("compileCmd");
newCompileCmdElement.setTextContent(compileCommand);
newCompilerElement.appendChild(newCompileCmdElement);
// 假设你有一个表示语言的节点
Node languageNode = (Node) xpath.evaluate("/languages/language[@id='" + languageName + "']", Data, XPathConstants.NODE);
if (languageNode != null) {
languageNode.appendChild(newCompilerElement);
}
}
} catch (XPathExpressionException e) {
System.out.println(e.getMessage());
}
}
//////////////////////
public static void setLinkCommand(String languageName, String compilerName, String linkCommand) {
Document doc = Data;
languageName = parseStandardLanguageName(languageName);
if (compilerName == null || compilerName.trim().equals("")) {
compilerName = getDefaultCompilerName(languageName);
}
try {
String exp = "/languages/language[@id='" + languageName + "']//compiler[@name='" + compilerName + "']//linkCmd";
// 获取节点
Node compileCmdNode = (Node) xpath.evaluate(exp, Data, XPathConstants.NODE);
if (compileCmdNode != null) {
compileCmdNode.setTextContent(linkCommand);
} else {
// 创建新节点逻辑
// 这里的实现取决于你的 XML 结构假设我们有 Document 对象 doc
Element newCompilerElement = doc.createElement("compiler");
newCompilerElement.setAttribute("name", compilerName);
Element newCompileCmdElement = doc.createElement("linkCmd");
newCompileCmdElement.setTextContent(linkCommand);
newCompilerElement.appendChild(newCompileCmdElement);
// 假设你有一个表示语言的节点
Node languageNode = (Node) xpath.evaluate("/languages/language[@id='" + languageName + "']", Data, XPathConstants.NODE);
if (languageNode != null) {
languageNode.appendChild(newCompilerElement);
}
}
} catch (XPathExpressionException e) {
System.out.println(e.getMessage());
}
}
public static String parseStandardLanguageName(String languageName) { public static String parseStandardLanguageName(String languageName) {
try { try {
@ -122,7 +324,10 @@ public abstract class LangSelector {
public static String getDefaultCompilerName(String languageName){ public static String getDefaultCompilerName(String languageName){
languageName=parseStandardLanguageName(languageName); languageName=parseStandardLanguageName(languageName);
if(customDefaultCompiler.containsKey(languageName)) if(customDefaultCompiler.containsKey(languageName))
return customDefaultCompiler.get(languageName); {
return customDefaultCompiler.get(languageName);
}
//if(languageName.charAt(0)>='a')languageName //if(languageName.charAt(0)>='a')languageName
try{ try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"/compiler[1]/@name"; String exp="/languages/language"+ "[@id='" +languageName+ "']"+"/compiler[1]/@name";
@ -147,8 +352,51 @@ public abstract class LangSelector {
// LangSelector.ConfigPath=new File(LangSelector.ConfigPath).getAbsolutePath(); // LangSelector.ConfigPath=new File(LangSelector.ConfigPath).getAbsolutePath();
Document doc=db.parse(new File(LangSelector.ConfigPath)); Document doc=db.parse(new File(LangSelector.ConfigPath));
Data=doc; Data=doc;
// 加载默认编译器设置 by san_san
NodeList languageNodes = (NodeList) xpath.evaluate("/languages/language", doc, XPathConstants.NODESET);
for (int i = 0; i < languageNodes.getLength(); i++) {
Element languageElement = (Element) languageNodes.item(i);
String languageId = languageElement.getAttribute("id");
Node lastCompilerNode = (Node) xpath.evaluate("lastCompiler", languageElement, XPathConstants.NODE);
if (lastCompilerNode != null) {
customDefaultCompiler.put(languageId, lastCompilerNode.getTextContent());
} else {
// 如果 lastCompiler 不存在使用第一个编译器作为默认
NodeList compilerNodes = languageElement.getElementsByTagName("compiler");
if (compilerNodes.getLength() > 0) {
Element defaultCompiler = (Element) compilerNodes.item(0);
customDefaultCompiler.put(languageId, defaultCompiler.getAttribute("name"));
}
}
}
// 初始化 lastLanguage
Node lastLanguageNode = (Node) xpath.evaluate("/languages/lastLanguage", doc, XPathConstants.NODE);
if (lastLanguageNode != null) {
lastLanguage = lastLanguageNode.getTextContent();
} else {
// 如果不存在创建节点并设置默认值为第一个可用的语言
languageNodes = (NodeList) xpath.evaluate("/languages/language", doc, XPathConstants.NODESET);
if (languageNodes.getLength() > 0) {
Element firstLanguage = (Element) languageNodes.item(0);
lastLanguage = firstLanguage.getAttribute("id");
Element root = doc.getDocumentElement();
Element lastLanguageElement = doc.createElement("lastLanguage");
lastLanguageElement.setTextContent(lastLanguage);
root.appendChild(lastLanguageElement);
}
}
return doc; return doc;
} }
// 获取语言ID的辅助方法
public static String getLanguageIdFromAlias(String alias) {
return parseStandardLanguageName(alias);
}
public static List<String> getCompilerNames(String languageName){ public static List<String> getCompilerNames(String languageName){
languageName=parseStandardLanguageName(languageName); languageName=parseStandardLanguageName(languageName);
@ -172,11 +420,13 @@ public abstract class LangSelector {
public static String getCompilerPath(String languageName,String compilerName) { public static String getCompilerPath(String languageName,String compilerName) {
languageName=parseStandardLanguageName(languageName); languageName=parseStandardLanguageName(languageName);
if(compilerName==null)compilerName=getDefaultCompilerName(languageName); if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
try{ try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//path/text()"; String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//path/text()";
return (String) xpath.evaluate(exp,Data); return (String) xpath.evaluate(exp,Data);
} catch (XPathExpressionException e) { } catch (XPathExpressionException e) {
System.out.println("null!");
System.out.println(e.getMessage()); System.out.println(e.getMessage());
return null; return null;
} }
@ -194,7 +444,7 @@ public abstract class LangSelector {
} }
public static String getLinkCommand(String languageName,String compilerName){ public static String getLinkCommand(String languageName,String compilerName){
languageName=parseStandardLanguageName(languageName); languageName=parseStandardLanguageName(languageName);
if(compilerName==null)compilerName=getDefaultCompilerName(languageName); if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
try{ try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//linkCmd/text()"; String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//linkCmd/text()";
return (String) xpath.evaluate(exp,Data); return (String) xpath.evaluate(exp,Data);
@ -205,7 +455,7 @@ public abstract class LangSelector {
} }
public static String getRunCommand(String languageName,String compilerName){ public static String getRunCommand(String languageName,String compilerName){
languageName=parseStandardLanguageName(languageName); languageName=parseStandardLanguageName(languageName);
if(compilerName==null)compilerName=getDefaultCompilerName(languageName); if(compilerName==null||compilerName.equals(""))compilerName=getDefaultCompilerName(languageName);
try{ try{
String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//runCmd/text()"; String exp="/languages/language"+ "[@id='" +languageName+ "']"+"//compiler[@name='"+compilerName+"']//runCmd/text()";
return (String) xpath.evaluate(exp,Data); return (String) xpath.evaluate(exp,Data);

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"?> <?xml version="1.0" encoding="utf-8"?>
<languages> <languages>
<language id="C++" alias="c++,c,cpp,CPP,C"> <language id="C++" alias="c++,cpp,CPP">
<compiler name="MSVC"> <compiler name="MSVC">
<path>K:\msvc\MSVC</path> <path>.\MSVC</path>
<compileCmd>$compilerPath$/bin/cl.exe /O2 /Fo"$objFile$" /Fe"$exeFile$" /I $compilerPath$\include /EHsc "$sourceFile$" /link /LIBPATH:"$compilerPath$\lib" </compileCmd> <compileCmd>$compilerPath$/bin/cl.exe /O2 /Fo"$objFile$" /Fe"$exeFile$" /I $compilerPath$\include /EHsc "$sourceFile$" /link /LIBPATH:"$compilerPath$\lib" </compileCmd>
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o--> <!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
<linkCmd></linkCmd> <linkCmd></linkCmd>
@ -11,30 +11,50 @@
<runCmd>$exeFile$</runCmd> <runCmd>$exeFile$</runCmd>
</compiler> </compiler>
<compiler name="MinGW"> <compiler name="MinGW">
<path>K:\Dev-Cpp\MinGW64\bin</path> <path>.\MinGW64\bin</path>
<compileCmd>"$compilerPath$\g++" -Wall -g -c -std=c++1y "$sourceFile$" -o "$objFile$"</compileCmd> <compileCmd>"$compilerPath$\g++" -std=c++1y "$sourceFile$" -o "$exeFile$"</compileCmd>
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o--> <!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
<linkCmd>$compilerPath$\g++ "$objFile$" "$exeFile$" -o -O1</linkCmd> <linkCmd></linkCmd>
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
<runCmd>.\test\output\Main.exe</runCmd>
</compiler>
</language>
<language id="C" alias="c">
<compiler name="MSVC">
<path>.\MSVC</path>
<compileCmd>$compilerPath$/bin/cl.exe /O2 /Fo"$objFile$" /Fe"$exeFile$" /I $compilerPath$\include "$sourceFile$" /link /LIBPATH:"$compilerPath$\lib" </compileCmd>
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
<linkCmd></linkCmd>
<!-- <linkCmd>$compilerPath$/bin/link.exe /OUT:"$exeFile$" "$objFile$" /LIBPATH:"$compilerPath$\lib"</linkCmd> -->
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1--> <!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
<runCmd>$exeFile$</runCmd> <runCmd>$exeFile$</runCmd>
</compiler> </compiler>
<compiler name="MinGW">
<path>.\MinGW64\bin</path>
<compileCmd>"$compilerPath$\gcc" -std=c11 "$sourceFile$" -o "$exeFile$"</compileCmd>
<!-- g++.exe -Wall -g -std=c++14 -c D:\prog_old\test\main.cpp -o obj\Debug\main.o-->
<linkCmd></linkCmd>
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
<runCmd>.\test\output\Main.exe</runCmd>
</compiler>
</language> </language>
<language id="Java" alias="java,JAVA"> <language id="Java" alias="java,JAVA">
<compiler name="JDK8"> <compiler name="JDK8">
<path>C:\Program Files\Java\jdk1.8.0_121\bin</path> <path>.\jdk1.8.0_121\bin</path>
<compileCmd>"$compilerPath$/javac" $sourceFile$</compileCmd> <compileCmd>"$compilerPath$/javac" $sourceFile$</compileCmd>
<linkCmd>g++.exe -o $exeFile$ $objFile$ -O1</linkCmd> <linkCmd></linkCmd>
<!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1--> <!-- g++.exe -o bin\Debug\test.exe obj\Debug\main.o -O1-->
<runCmd>$exeFile$</runCmd> <runCmd>$exeFile$</runCmd>
</compiler> </compiler>
</language> </language>
<language id="Python" alias="python,PYTHON,py,PY"> <language id="Python" alias="python,PYTHON,py,PY">
<compiler name="Python3"> <compiler name="Python 3.12">
<path>F:\裁判机\python3.12</path> <path>.\python3.12</path>
<compileCmd> </compileCmd> <compileCmd> </compileCmd>
<linkCmd> </linkCmd> <linkCmd> </linkCmd>
<runCmd>$compilerPath$/python "$sourceFile$"</runCmd> <runCmd>$compilerPath$/python "$sourceFile$"</runCmd>

View File

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

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.data.CRC32=dfbf39b8
build.xml.script.CRC32=1513c9b5 build.xml.script.CRC32=1513c9b5
build.xml.stylesheet.CRC32=8064a381@1.79.1.48 build.xml.stylesheet.CRC32=f85dc8f2@1.113.0.48
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=dfbf39b8 nbproject/build-impl.xml.data.CRC32=dfbf39b8
nbproject/build-impl.xml.script.CRC32=659c39b3 nbproject/build-impl.xml.script.CRC32=e468727d
nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48 nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.113.0.48

View File

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

View File

@ -22,15 +22,9 @@
<file>file:/E:/ojNew/JuderUI/src/data/MainForNet.java</file> <file>file:/E:/ojNew/JuderUI/src/data/MainForNet.java</file>
</group> </group>
<group> <group>
<file>file:/K:/OJ/JuderUI/src/myjdom/model/ResultBean.java</file> <file>file:/D:/oj/JuderUI/src/web/Webservice.java</file>
<file>file:/K:/OJ/JuderUI/src/data/MainForNet.java</file> <file>file:/D:/oj/JuderUI/nbproject/build-impl.xml</file>
<file>file:/K:/OJ/JuderUI/src/myjdom/AnswerToXml.java</file> <file>file:/D:/oj/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetailResponse.java</file>
<file>file:/K:/OJ/JuderUI/src/data/JudgeFromQueue.java</file>
<file>file:/K:/OJ/JuderUI/src/web/Dubboservice.java</file>
<file>file:/K:/OJ/JuderUI/src/web/Webservice.java</file>
<file>file:/K:/OJ/JuderUI/src/swingworker/MySwingWorker.java</file>
<file>file:/K:/OJ/JuderUI/src/gui/Control.java</file>
<file>file:/K:/OJ/JuderUI/src/gui/MainFrame.java</file>
</group> </group>
</open-files> </open-files>
</project-private> </project-private>

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 annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=JuderUI application.title=JuderUI
application.vendor=\u6bdb\u6cc9 application.vendor=\u6bdb\u6cc9
auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
build.classes.dir=${build.dir}/classes build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
@ -19,8 +20,12 @@ build.test.results.dir=${build.dir}/test/results
#debug.transport=dt_socket #debug.transport=dt_socket
debug.classpath=\ debug.classpath=\
${run.classpath} ${run.classpath}
debug.modulepath=\
${run.modulepath}
debug.test.classpath=\ debug.test.classpath=\
${run.test.classpath} ${run.test.classpath}
debug.test.modulepath=\
${run.test.modulepath}
# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 # build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6
dist.archive.excludes= dist.archive.excludes=
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
@ -136,6 +141,8 @@ javac.classpath=\
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.external.vm=true javac.external.vm=true
javac.modulepath=
javac.processormodulepath=
javac.processorpath=\ javac.processorpath=\
${javac.classpath} ${javac.classpath}
javac.source=1.8 javac.source=1.8
@ -143,6 +150,8 @@ javac.target=1.8
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
javac.test.processorpath=\ javac.test.processorpath=\
${javac.test.classpath} ${javac.test.classpath}
javadoc.additionalparam= javadoc.additionalparam=
@ -184,9 +193,13 @@ run.classpath=\
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
# To set system properties for unit tests define test-sys-prop.name=value: # To set system properties for unit tests define test-sys-prop.name=value:
run.jvmargs= run.jvmargs=
run.modulepath=\
${javac.modulepath}
run.test.classpath=\ run.test.classpath=\
${javac.test.classpath}:\ ${javac.test.classpath}:\
${build.test.classes.dir} ${build.test.classes.dir}
run.test.modulepath=\
${javac.test.modulepath}
source.encoding=GBK source.encoding=GBK
src.dir=src src.dir=src
test.src.dir=test test.src.dir=test

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

View File

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

View File

@ -5,11 +5,15 @@
*/ */
package data; package data;
import common.Const;
import common.LogLevel;
import common.Logger;
import gui.Control; import gui.Control;
import static gui.Control.getJudgeInfoEditorPane; import static gui.Control.getJudgeInfoEditorPane;
import java.awt.EventQueue; import java.awt.EventQueue;
import java.net.URL; import java.net.URL;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
@ -19,6 +23,7 @@ import myjdom.model.Solution;
import myjdom.model.Solutions; import myjdom.model.Solutions;
import myjdom.model.ProblemBean; import myjdom.model.ProblemBean;
import persistence.oj_beans.ProblemTestCaseBean; import persistence.oj_beans.ProblemTestCaseBean;
import resultData.Result;
import web.Webservice; import web.Webservice;
import static web.Webservice.existDubbo; import static web.Webservice.existDubbo;
@ -36,6 +41,7 @@ public class MainForNet extends Thread {
private int previousSId = -1; private int previousSId = -1;
public Solutions solutions; public Solutions solutions;
private Lock lock; private Lock lock;
private static Logger logger=Logger.getInstance();
// private String ip = "127.0.0.1"; // private String ip = "127.0.0.1";
// private int port = 5000; // private int port = 5000;
@ -51,10 +57,13 @@ public class MainForNet extends Thread {
Thread.sleep(500); Thread.sleep(500);
continue; continue;
} }
System.out.println("开始获取solution"); List<Solution> list=new ArrayList<>();
List<Solution> list = getWebServiceSolutions(); synchronized(Control.refreshLock){//加锁避免在获取solution时遇到线程刷新
System.out.println("获取slolutin数量"+list.size()); System.out.println("开始获取solution");
list = getWebServiceSolutions();
System.out.println("获取slolutin数量"+list.size());
}
// getServerObject(); // getServerObject();
if (list.size() == 0) { if (list.size() == 0) {
Thread.sleep(3000); Thread.sleep(3000);
@ -95,7 +104,8 @@ public class MainForNet extends Thread {
} }
private List<Solution> getWebServiceSolutions() throws Exception { private List<Solution> getWebServiceSolutions() throws Exception {
Control.setWebService(new Webservice(new URL(Control.getUrl()), Control.getQname())); if(Control.getWebService()==null)//Jared:此前每次加载都会创建Webservice实例疑似导致内存泄漏
Control.setWebService(new Webservice(new URL(Control.getUrl()), Control.getQname()));
String xml = null; String xml = null;
try{ try{
@ -104,9 +114,16 @@ public class MainForNet extends Thread {
catch(Exception ex){ catch(Exception ex){
ex.printStackTrace(); ex.printStackTrace();
EventQueue.invokeLater(() -> { EventQueue.invokeLater(() -> {
Control.addExceptionInfo(0, ex.getStackTrace().toString()); Control.addExceptionInfo(0, "获取Solutions失败"+ex.getMessage());
}); });
logger.log("获取Solutions失败" + ex.getMessage(), LogLevel.ERROR);
Result.status = Const.SE;
//todo:返回SE
} }
// if(xml==null||xml.equals("")){
// Result.status=Const.SE;
// }
XmlToSolution xts = new XmlToSolution(); XmlToSolution xts = new XmlToSolution();
xts.readXmlString(xml); xts.readXmlString(xml);

View File

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

View File

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

View File

@ -9,16 +9,22 @@ import cache.ProblemsCachManager;
import common.Config; import common.Config;
import common.FileFinder; import common.FileFinder;
import common.LangSelector; import common.LangSelector;
import common.LogLevel;
import common.Logger;
import static gui.Control.getJudgeInfoEditorPane;
import java.awt.Component; import java.awt.Component;
import java.awt.Desktop; import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter; import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.Timer;
import javax.xml.namespace.QName; import javax.xml.namespace.QName;
import share.gui.NewCompileSetting; import share.gui.NewCompileSetting;
import web.Dubboservice; import web.Dubboservice;
@ -29,6 +35,7 @@ import web.Webservice;
* @author Administrator * @author Administrator
*/ */
public class MainFrame extends javax.swing.JFrame { public class MainFrame extends javax.swing.JFrame {
private Logger logger=Logger.getInstance();
/** /**
* Creates new form MainFrame * Creates new form MainFrame
@ -70,15 +77,35 @@ public class MainFrame extends javax.swing.JFrame {
}); });
comboCppCompiler.removeAllItems(); comboCppCompiler.removeAllItems();
comboJavaCompiler.removeAllItems(); comboJavaCompiler.removeAllItems();
List<String> cppCompilers=LangSelector.getCompilerNames("C++"); List<String> cppCompilers = LangSelector.getCompilerNames("C++");
for(int i=0;i<cppCompilers.size();++i){ for (int i = 0; i < cppCompilers.size(); ++i) {
comboCppCompiler.addItem(cppCompilers.get(i)); comboCppCompiler.addItem(cppCompilers.get(i));
} }
List<String> javaCompilers=LangSelector.getCompilerNames("Java"); List<String> javaCompilers = LangSelector.getCompilerNames("Java");
for(int i=0;i<javaCompilers.size();++i){ for (int i = 0; i < javaCompilers.size(); ++i) {
comboJavaCompiler.addItem(javaCompilers.get(i)); comboJavaCompiler.addItem(javaCompilers.get(i));
} }
// // 设置定时器每小时执行一次gc
// Timer timer = new Timer(3600* 1000, new ActionListener() { // 3600000 milliseconds = 1 hour
// @Override
// public void actionPerformed(ActionEvent e) {
////
//// ProblemsCachManager problemsCachManager = ProblemsCachManager.getInstance();
//// problemsCachManager.removeAllObject();
// System.gc();
// logger.log("已自动执行gc", LogLevel.INFO);
//// synchronized (Control.refreshLock) {//
//// //if(!Control.queue.isEmpty())return;//如果有队列任务就下次重启
//// buttonStopActionPerformed(null);
//// button_StartActionPerformed(null);
//// Control.addJudgeInfo(0, "裁判机线程已自动刷新!");
//// logger.log("裁判机线程已自动刷新!", LogLevel.INFO);
//// }
// }
// });
// timer.start();
} }
/** /**
@ -160,6 +187,12 @@ public class MainFrame extends javax.swing.JFrame {
jLabel7.setText("线程数量:"); jLabel7.setText("线程数量:");
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4" })); jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4" }));
jComboBox1.setOpaque(false);
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});
jLabel15.setText("一般信息:"); jLabel15.setText("一般信息:");
@ -241,6 +274,7 @@ public class MainFrame extends javax.swing.JFrame {
threadManagerTabb.addTab("线程[未运行]", jPanel6); threadManagerTabb.addTab("线程[未运行]", jPanel6);
button_StartThread.setText("设置"); button_StartThread.setText("设置");
button_StartThread.setOpaque(false);
button_StartThread.addActionListener(new java.awt.event.ActionListener() { button_StartThread.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { public void actionPerformed(java.awt.event.ActionEvent evt) {
button_StartThreadActionPerformed(evt); button_StartThreadActionPerformed(evt);
@ -340,7 +374,9 @@ public class MainFrame extends javax.swing.JFrame {
.addComponent(jLabel17) .addComponent(jLabel17)
.addGap(18, 18, 18) .addGap(18, 18, 18)
.addComponent(jButton1) .addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGap(30, 30, 30)
.addComponent(button_StartThread)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel7) .addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
@ -364,9 +400,7 @@ public class MainFrame extends javax.swing.JFrame {
.addGap(83, 83, 83))) .addGap(83, 83, 83)))
.addGap(21, 21, 21)) .addGap(21, 21, 21))
.addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(threadManagerTabb, javax.swing.GroupLayout.PREFERRED_SIZE, 945, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(button_StartThread)
.addComponent(threadManagerTabb, javax.swing.GroupLayout.PREFERRED_SIZE, 945, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 1, Short.MAX_VALUE)) .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 1, Short.MAX_VALUE))
); );
@ -455,7 +489,8 @@ public class MainFrame extends javax.swing.JFrame {
try { try {
LangSelector.init(); LangSelector.init();
} catch (Exception ex) { } catch (Exception ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex); logger.log("错误:"+ex.getMessage(), LogLevel.ERROR);
//Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}//刷新配置文件 }//刷新配置文件
if (!checkForCompile()) { if (!checkForCompile()) {
return; return;
@ -474,7 +509,7 @@ public class MainFrame extends javax.swing.JFrame {
this.buttonStop.setEnabled(true); this.buttonStop.setEnabled(true);
this.button_StartThread.setEnabled(true); this.button_StartThread.setEnabled(true);
this.jCheckBox2.setEnabled(false); this.jCheckBox2.setEnabled(false);
Webservice.existDubbo=false; Webservice.existDubbo = false;
// if(!Dubboservice.running){ // if(!Dubboservice.running){
// Dubboservice.main(null); // Dubboservice.main(null);
// Dubboservice.running=true; // Dubboservice.running=true;
@ -491,24 +526,22 @@ public class MainFrame extends javax.swing.JFrame {
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
// TODO add your handling code here: // TODO add your handling code here:
for (int i = 0; i <= 4; i++) { for (int i = 0; i <= 4; i++) {
Control.clearInfo(i); getJudgeInfoEditorPane(i).setText("");
} }
}//GEN-LAST:event_jLabel17MouseClicked }//GEN-LAST:event_jLabel17MouseClicked
private boolean checkForCompile() { private boolean checkForCompile() {
//String tmp = null; //String tmp = null;
//tmp = Config.getCompilerDir("c",comboCppCompiler.getSelectedItem().toString()); //tmp = Config.getCompilerDir("c",comboCppCompiler.getSelectedItem().toString());
//if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "gcc.exe")&&!FileFinder.isExistFile(tmp + File.separator + "g++.exe")&&!FileFinder.isExistFile(tmp + File.separator + "/bin/cl.exe")) { //if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "gcc.exe")&&!FileFinder.isExistFile(tmp + File.separator + "g++.exe")&&!FileFinder.isExistFile(tmp + File.separator + "/bin/cl.exe")) {
//弹窗设置保存 //弹窗设置保存
// JOptionPane.showMessageDialog(this, "请先配置C/C++编译器"); // JOptionPane.showMessageDialog(this, "请先配置C/C++编译器");
// NewCompileSetting window = new NewCompileSetting("c", this, true); // NewCompileSetting window = new NewCompileSetting("c", this, true);
// window.setVisible(true); // window.setVisible(true);
// return false; // return false;
//} //}
// tmp = Config.getCompilerDir("java",comboJavaCompiler.getSelectedItem().toString());
// tmp = Config.getCompilerDir("java",comboJavaCompiler.getSelectedItem().toString());
//if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "javac.exe")) { //if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "javac.exe")) {
// JOptionPane.showMessageDialog(this, "请先配置Java编译器"); // JOptionPane.showMessageDialog(this, "请先配置Java编译器");
// NewCompileSetting window = new NewCompileSetting("java", this, true); // NewCompileSetting window = new NewCompileSetting("java", this, true);
// window.setVisible(true); // window.setVisible(true);
@ -516,10 +549,12 @@ public class MainFrame extends javax.swing.JFrame {
//} //}
return true; return true;
} }
public String getSelectedCppCompilerName(){
public String getSelectedCppCompilerName() {
return comboCppCompiler.getSelectedItem().toString(); return comboCppCompiler.getSelectedItem().toString();
} }
public String getSelectedJavaCompilerName(){
public String getSelectedJavaCompilerName() {
return comboJavaCompiler.getSelectedItem().toString(); return comboJavaCompiler.getSelectedItem().toString();
} }
private void button_StartThreadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button_StartThreadActionPerformed private void button_StartThreadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button_StartThreadActionPerformed
@ -534,41 +569,39 @@ public class MainFrame extends javax.swing.JFrame {
ProblemsCachManager problemsCachManager = ProblemsCachManager.getInstance(); ProblemsCachManager problemsCachManager = ProblemsCachManager.getInstance();
problemsCachManager.removeAllObject(); problemsCachManager.removeAllObject();
JOptionPane.showMessageDialog(this, "缓存清除成功"); JOptionPane.showMessageDialog(this, "缓存清除成功");
}//GEN-LAST:event_jButton1ActionPerformed }//GEN-LAST:event_jButton1ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
Desktop desktop = Desktop.getDesktop(); Desktop desktop = Desktop.getDesktop();
try { try {
// 打开文件 // 打开文件
desktop.open(new File(LangSelector.getConfigPath())); desktop.open(new File(LangSelector.getConfigPath()));
// desktop.open(FileFinder.findFile("ConfigEditor.exe"))); // desktop.open(FileFinder.findFile("ConfigEditor.exe")));
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
}//GEN-LAST:event_jButton2ActionPerformed }//GEN-LAST:event_jButton2ActionPerformed
private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox2ActionPerformed private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox2ActionPerformed
Webservice.ENABLE_DUBBO=jCheckBox2.isSelected(); Webservice.ENABLE_DUBBO = jCheckBox2.isSelected();
}//GEN-LAST:event_jCheckBox2ActionPerformed }//GEN-LAST:event_jCheckBox2ActionPerformed
private void comboCppCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboCppCompilerActionPerformed private void comboCppCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboCppCompilerActionPerformed
try{ try {
LangSelector.setDefaultCompiler("C++", comboCppCompiler.getSelectedItem().toString()); LangSelector.setDefaultCompiler("C++", comboCppCompiler.getSelectedItem().toString());
} } catch (Exception e) {
catch(Exception e){
//e.printStackTrace(); //e.printStackTrace();
} }
}//GEN-LAST:event_comboCppCompilerActionPerformed }//GEN-LAST:event_comboCppCompilerActionPerformed
private void comboJavaCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboJavaCompilerActionPerformed private void comboJavaCompilerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboJavaCompilerActionPerformed
try{ try {
LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString()); LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
} } catch (Exception e) {
catch(Exception e){
} }
}//GEN-LAST:event_comboJavaCompilerActionPerformed }//GEN-LAST:event_comboJavaCompilerActionPerformed
@ -580,6 +613,10 @@ public class MainFrame extends javax.swing.JFrame {
//LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString()); //LangSelector.setDefaultCompiler("Java", comboJavaCompiler.getSelectedItem().toString());
}//GEN-LAST:event_comboJavaCompilerItemStateChanged }//GEN-LAST:event_comboJavaCompilerItemStateChanged
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jComboBox1ActionPerformed
private void loadConfig() { private void loadConfig() {
this.distributorIP.setText(Config.getValue("distributorIP")); this.distributorIP.setText(Config.getValue("distributorIP"));
this.distributorPort.setText(Config.getValue("distributorPort")); this.distributorPort.setText(Config.getValue("distributorPort"));

View File

@ -5,7 +5,7 @@
*/ */
package myjdom; package myjdom;
import com.sun.media.jfxmedia.logging.Logger;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import myjdom.model.Solution; import myjdom.model.Solution;
@ -49,7 +49,7 @@ public class XmlToSolution extends XmlToBase implements XmlConvert<Solutions> {
} }
if (e.getElementsByTagName("compiler").item(0) != null) { if (e.getElementsByTagName("compiler").item(0) != null) {
s.setCompiler(e.getElementsByTagName("compiler").item(0).getTextContent()); s.setCompiler(e.getElementsByTagName("compiler").item(0).getTextContent());
Logger.logMsg(Logger.DEBUG,"当前编译器:"+e.getElementsByTagName("compiler").item(0).getTextContent()); //Logger.logMsg(Logger.DEBUG,"当前编译器:"+e.getElementsByTagName("compiler").item(0).getTextContent());
System.out.println("µ±Ç°±àÒëÆ÷:"+e.getElementsByTagName("compiler").item(0).getTextContent()); System.out.println("µ±Ç°±àÒëÆ÷:"+e.getElementsByTagName("compiler").item(0).getTextContent());
}/////NEW }/////NEW

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

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