This commit is contained in:
parent
a290eb889f
commit
2116e46751
|
|
@ -40,3 +40,4 @@ client/nbproject/private/private.properties
|
|||
/JuderUI/build
|
||||
/JuderUI/log
|
||||
/client/build
|
||||
/client/可运行客户端环境
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Judger.jar
|
||||
|
|
@ -10,6 +10,9 @@
|
|||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="ComposerSettings">
|
||||
<execution />
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"associatedIndex": 6
|
||||
}</component>
|
||||
|
|
@ -18,21 +21,23 @@
|
|||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">{
|
||||
"keyToString": {
|
||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"WebServerToolWindowFactoryState": "false",
|
||||
"last_opened_file_path": "D:/OJ",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"settings.editor.selected.configurable": "vcs.Subversion",
|
||||
"spring.configuration.checksum": "d41d8cd98f00b204e9800998ecf8427e",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"WebServerToolWindowFactoryState": "false",
|
||||
"kotlin-language-version-configured": "true",
|
||||
"last_opened_file_path": "D:/dhu/3B/软件架构设计/实验/实验 4 设计模式/必考/Adapter",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"settings.editor.selected.configurable": "vcs.Subversion",
|
||||
"spring.configuration.checksum": "d41d8cd98f00b204e9800998ecf8427e",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
}
|
||||
}</component>
|
||||
}]]></component>
|
||||
<component name="RunManager">
|
||||
<configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||
<option name="MAIN_CLASS_NAME" value="client.test.Test1" />
|
||||
|
|
@ -53,6 +58,14 @@
|
|||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-jdk-9823dce3aa75-28b599e66164-intellij.indexing.shared.core-IU-242.23339.11" />
|
||||
<option value="bundled-js-predefined-d6986cc7102b-5c90d61e3bab-JavaScript-IU-242.23339.11" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="SvnConfiguration" cleanupOnStartRun="true">
|
||||
<configuration>C:\Users\32592\AppData\Roaming\Subversion</configuration>
|
||||
|
|
@ -67,6 +80,8 @@
|
|||
<updated>1704801979303</updated>
|
||||
<workItem from="1704801980316" duration="598000" />
|
||||
<workItem from="1719379629921" duration="24000" />
|
||||
<workItem from="1742820783863" duration="109000" />
|
||||
<workItem from="1743039478282" duration="37000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,4 +6,4 @@ do.jar=true
|
|||
>>>>>>> 9424929ba4fe9afe21ab70bff638a1960335fa7f
|
||||
javac.debug=true
|
||||
javadoc.preview=true
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@
|
|||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group name="最新版本代码"/>
|
||||
<group>
|
||||
<file>file:/D:/oj/Common/src/common/FileFinder.java</file>
|
||||
</group>
|
||||
<group/>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#Mon, 10 Feb 2025 21:12:48 +0800
|
||||
#Thu, 18 Sep 2025 20:27:28 +0800
|
||||
|
||||
|
||||
D\:\\oj\\JuderUI=
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
#update config.properties
|
||||
#Mon Feb 10 21:10:14 GMT+08:00 2025
|
||||
#Wed Feb 19 12:24:17 GMT+08:00 2025
|
||||
=\=\=\=\=\=\=
|
||||
<<<<<<<=.mine
|
||||
>>>>>>>=.r76
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
2024-05-08 22:08:19[INFO]اًا<D98B>dubbo<62><6F>خّ
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
2024-07-08 19:56:54[INFO]اًا<D98B>dubbo<62><6F>خّ
|
||||
2024-07-08 19:57:19[INFO]اًا<D98B>dubbo<62><6F>خّ
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,559 +0,0 @@
|
|||
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服务
|
||||
|
|
@ -1,622 +0,0 @@
|
|||
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:18:41[INFO]JudgeFromQueue:threadNo=1
|
||||
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:18:41[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:18:41[INFO]JudgeFromQueue:线程1开始运行
|
||||
2024-08-26 23:18:42[INFO]请求dubbo服务
|
||||
2024-08-26 23:19:35[INFO]线程已关闭,总数:5
|
||||
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:39[INFO]JudgeFromQueue:threadNo=1
|
||||
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:39[INFO]JudgeFromQueue:线程1开始运行
|
||||
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:39[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:39[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:39[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:39[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:40[INFO]请求dubbo服务
|
||||
2024-08-26 23:20:40[INFO]线程已关闭,总数:5
|
||||
2024-08-26 23:20:40[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:20:40[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:49[INFO]JudgeFromQueue:threadNo=1
|
||||
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:49[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:20:49[INFO]JudgeFromQueue:线程1开始运行
|
||||
2024-08-26 23:20:49[INFO]请求dubbo服务
|
||||
2024-08-26 23:28:47[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:28:47[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:28:51[INFO]请求dubbo服务
|
||||
2024-08-26 23:28:51[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:28:51[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:28:55[INFO]请求dubbo服务
|
||||
2024-08-26 23:28:55[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:28:55[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:28:59[INFO]请求dubbo服务
|
||||
2024-08-26 23:28:59[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:28:59[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:00[INFO]线程已关闭,总数:5
|
||||
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:07[INFO]JudgeFromQueue:threadNo=1
|
||||
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:07[INFO]JudgeFromQueue:线程1开始运行
|
||||
2024-08-26 23:29:07[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:07[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:07[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:07[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:07[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:07[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:07[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:07[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:07[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:07[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:08[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:08[INFO]线程已关闭,总数:5
|
||||
2024-08-26 23:29:08[ERROR]请求dubbo服务失败
|
||||
2024-08-26 23:29:08[ERROR]getSolutions出错:null
|
||||
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:17[INFO]JudgeFromQueue:threadNo=1
|
||||
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:17[INFO]JudgeFromQueue:线程1开始运行
|
||||
2024-08-26 23:29:17[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:29:17[INFO]请求dubbo服务
|
||||
2024-08-26 23:29:20[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:29:20[ERROR]获取缓存出错:problemId927e:null
|
||||
2024-08-26 23:29:20[INFO]已放入缓存problemId927
|
||||
2024-08-26 23:29:20[INFO]已放入缓存problemId927
|
||||
2024-08-26 23:29:20[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:29:20[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:29:20[ERROR]获取缓存出错:problemId926e:null
|
||||
2024-08-26 23:29:20[INFO]已放入缓存problemId926
|
||||
2024-08-26 23:29:20[INFO]已放入缓存problemId926
|
||||
2024-08-26 23:29:20[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:29:20[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:29:20[ERROR]获取缓存出错:problemId758e:null
|
||||
2024-08-26 23:29:20[INFO]已放入缓存problemId758
|
||||
2024-08-26 23:29:20[INFO]已放入缓存problemId758
|
||||
2024-08-26 23:29:20[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:33:06[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:33:06[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:33:06[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:33:06[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:33:07[INFO]线程已关闭,总数:5
|
||||
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:34:11[INFO]JudgeFromQueue:threadNo=1
|
||||
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:34:11[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:34:11[INFO]JudgeFromQueue:线程1开始运行
|
||||
2024-08-26 23:34:11[INFO]请求dubbo服务
|
||||
2024-08-26 23:34:14[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:34:14[ERROR]获取缓存出错:problemId758e:null
|
||||
2024-08-26 23:34:14[INFO]已放入缓存problemId758
|
||||
2024-08-26 23:34:14[INFO]已放入缓存problemId758
|
||||
2024-08-26 23:34:14[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:35:59[INFO]线程已关闭,总数:5
|
||||
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:37:04[INFO]JudgeFromQueue:threadNo=1
|
||||
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:37:04[INFO]managerThreadCounts:a=1
|
||||
2024-08-26 23:37:04[INFO]JudgeFromQueue:线程1开始运行
|
||||
2024-08-26 23:37:04[INFO]请求dubbo服务
|
||||
2024-08-26 23:37:07[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:07[ERROR]获取缓存出错:problemId927e:null
|
||||
2024-08-26 23:37:07[INFO]已放入缓存problemId927
|
||||
2024-08-26 23:37:07[INFO]已放入缓存problemId927
|
||||
2024-08-26 23:37:07[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:07[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:07[ERROR]获取缓存出错:problemId926e:null
|
||||
2024-08-26 23:37:07[INFO]已放入缓存problemId926
|
||||
2024-08-26 23:37:07[INFO]已放入缓存problemId926
|
||||
2024-08-26 23:37:07[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:07[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:07[ERROR]获取缓存出错:problemId758e:null
|
||||
2024-08-26 23:37:07[INFO]已放入缓存problemId758
|
||||
2024-08-26 23:37:07[INFO]已放入缓存problemId758
|
||||
2024-08-26 23:37:07[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:08[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:08[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:08[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:08[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:08[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:08[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:09[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:09[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:09[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:09[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:09[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:09[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:10[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:10[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:10[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:10[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:10[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:10[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:11[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:11[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:11[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:11[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:11[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:11[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:12[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:12[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:12[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:12[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:12[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:12[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:13[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:13[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:13[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:13[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:13[INFO]JudgeFromQueue:线程1队列不为空,获取解答
|
||||
2024-08-26 23:37:13[ERROR]JudgeFromQueue:线程1错误null
|
||||
2024-08-26 23:37:13[INFO]线程已关闭,总数:5
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -4,4 +4,4 @@ do.jar=true
|
|||
javac.debug=true
|
||||
javadoc.preview=true
|
||||
project.Judger=D:\\oj\\Judger
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
|
||||
|
|
|
|||
|
|
@ -22,9 +22,7 @@
|
|||
<file>file:/E:/ojNew/JuderUI/src/data/MainForNet.java</file>
|
||||
</group>
|
||||
<group>
|
||||
<file>file:/D:/oj/JuderUI/src/web/Webservice.java</file>
|
||||
<file>file:/D:/oj/JuderUI/nbproject/build-impl.xml</file>
|
||||
<file>file:/D:/oj/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetailResponse.java</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ dist.archive.excludes=
|
|||
dist.dir=dist
|
||||
dist.jar=${dist.dir}/JuderUI.jar
|
||||
dist.javadoc.dir=${dist.dir}/javadoc
|
||||
endorsed.classpath=
|
||||
endorsed.classpath=\
|
||||
${libs.JAX-WS-ENDORSED.classpath}
|
||||
excludes=
|
||||
file.reference.antlr_2.7.6.jar=../Lib/antlr_2.7.6.jar
|
||||
file.reference.asm-all-2.2.3.jar=../Lib/asm-all-2.2.3.jar
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ public class ProblemsCachManager {
|
|||
return cache.get(key);
|
||||
} catch (Exception e) {
|
||||
logger.log("获取缓存出错:"+key+"e:"+e.getMessage(), LogLevel.ERROR);
|
||||
e.printStackTrace();
|
||||
// Cache中没有则从DB库获取
|
||||
// 数据库中读取数据
|
||||
// 把获取的对象再次存入Cache中
|
||||
|
|
|
|||
|
|
@ -150,13 +150,19 @@ public class JudgeFromQueue extends Thread {
|
|||
String language = s.getLanguage();
|
||||
String sourceCode = s.getCode();
|
||||
String compiler = s.getCompiler();
|
||||
|
||||
Float timeOut = problemBeanMap.get(problemId).getTimeOut();
|
||||
List<ProblemTestCaseBean> testCaseBeanList = problemBeanMap.get(problemId).getTestCaseBeanList();
|
||||
try{
|
||||
Float timeOut = problemBeanMap.get(problemId).getTimeOut();
|
||||
List<ProblemTestCaseBean> testCaseBeanList = problemBeanMap.get(problemId).getTestCaseBeanList();
|
||||
|
||||
MySwingWorker myswingworker = new MySwingWorker(threadNo, solutionId, problemId, language,compiler, sourceCode, timeOut, testCaseBeanList, this::changeMessage, this::submitAnswer);
|
||||
myswingworker.execute();
|
||||
myswingworker.get();
|
||||
MySwingWorker myswingworker = new MySwingWorker(threadNo, solutionId, problemId, language,compiler, sourceCode, timeOut, testCaseBeanList, this::changeMessage, this::submitAnswer);
|
||||
myswingworker.execute();
|
||||
myswingworker.get();
|
||||
}
|
||||
catch(Exception e){
|
||||
e.printStackTrace();
|
||||
logger.log(e.getMessage(), LogLevel.ERROR);
|
||||
}
|
||||
|
||||
// int i =1/0;
|
||||
}
|
||||
|
||||
|
|
@ -173,6 +179,8 @@ public class JudgeFromQueue extends Thread {
|
|||
if (problem == null) {
|
||||
try{
|
||||
problem = Control.getWebService().getProblem(Integer.parseInt(problemId));
|
||||
System.out.println("»ñÈ¡ÌâÄ¿ÐÅÏ¢³É¹¦£º");
|
||||
//System.out.println(problem);
|
||||
problemsCachManager.putObject("problemId" + problemId, problem);
|
||||
}catch(Exception e){
|
||||
Result.status = Const.SE;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ package web;
|
|||
|
||||
import com.alibaba.dubbo.config.ApplicationConfig;
|
||||
import com.alibaba.dubbo.config.ReferenceConfig;
|
||||
import common.LogLevel;
|
||||
import util.Decrypt;
|
||||
import edu.dhu.ws.OJWS;
|
||||
import edu.dhu.ws.OJWS_Service;
|
||||
|
|
@ -23,23 +24,25 @@ import javax.swing.JEditorPane;
|
|||
import javax.swing.JTextField;
|
||||
import javax.xml.namespace.QName;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author ytxlo
|
||||
*/
|
||||
@DubboService
|
||||
public class Webservice implements java.rmi.Remote{
|
||||
private OJWS_Service webs;
|
||||
public class Webservice implements java.rmi.Remote {
|
||||
|
||||
private OJWS_Service webs;
|
||||
private OJWS servicePort;
|
||||
public static boolean ENABLE_DUBBO=true;
|
||||
public static boolean existDubbo=false;
|
||||
public static boolean ENABLE_DUBBO = true;
|
||||
public static boolean existDubbo = false;
|
||||
private static ReferenceConfig<OJWS> reference = null;
|
||||
//@DubboReference(url = "http://106.15.36.190:3000/edu.dhu.ws.OJWS")
|
||||
//http://106.15.36.190:3000/edu.dhu.ws.OJWS
|
||||
//dubbo://219.228.76.122:80/edu.dhu.ws.OJWS
|
||||
//https://219.228.76.122:80/edu.dhu.ws.OJWS
|
||||
//dubbo://10.10.10.1:20880/edu.dhu.ws.OJWS
|
||||
|
||||
|
||||
//@DubboReference(url = "dubbo://10.10.10.1:20880/edu.dhu.ws.OJWS")
|
||||
//@Resource
|
||||
public OJWS dubboPort;
|
||||
|
|
@ -54,11 +57,12 @@ public class Webservice implements java.rmi.Remote{
|
|||
logger.log("现有的Dubbo实例已销毁", common.LogLevel.INFO);
|
||||
}
|
||||
}
|
||||
|
||||
public static OJWS initDubboPort(String url) {
|
||||
// 应用配置
|
||||
ApplicationConfig application = new ApplicationConfig();
|
||||
application.setName("consumer");
|
||||
|
||||
|
||||
destroyCurrentDubboPort();
|
||||
// 引用远程服务
|
||||
reference = new ReferenceConfig<>();
|
||||
|
|
@ -69,125 +73,130 @@ public class Webservice implements java.rmi.Remote{
|
|||
// 初始化
|
||||
return reference.get();
|
||||
}
|
||||
private void setDubbo(){
|
||||
String url = "dubbo://localhost:8080/edu.dhu.ws.OJWS";
|
||||
JTextField ip=getDistributorField(0);
|
||||
JTextField port=getDistributorField(1);
|
||||
if(ip!=null)//测试时获取不到控件
|
||||
url=String.format("dubbo://%s:%s/edu.dhu.ws.OJWS",ip.getText(),port.getText());
|
||||
try
|
||||
|
||||
private void setDubbo() {
|
||||
String url = "dubbo://localhost:8080/edu.dhu.ws.OJWS";
|
||||
JTextField ip = getDistributorField(0);
|
||||
JTextField port = getDistributorField(1);
|
||||
if (ip != null)//测试时获取不到控件
|
||||
{
|
||||
JEditorPane infoPane=getJudgeInfoEditorPane(0);
|
||||
if(!existDubbo&&infoPane!=null){
|
||||
Control.addJudgeInfo(0,"正在请求Dubbo服务..");
|
||||
url = String.format("dubbo://%s:%s/edu.dhu.ws.OJWS", ip.getText(), port.getText());
|
||||
}
|
||||
try {
|
||||
JEditorPane infoPane = getJudgeInfoEditorPane(0);
|
||||
if (!existDubbo && infoPane != null) {
|
||||
Control.addJudgeInfo(0, "正在请求Dubbo服务..");
|
||||
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"正在请求Dubbo服务...\n");
|
||||
logger.log("请求dubbo服务", common.LogLevel.INFO);
|
||||
}
|
||||
dubboPort = initDubboPort(url);
|
||||
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"测试test请求:..."+dubboPort.test("aa")+"\n");
|
||||
|
||||
}
|
||||
catch(Exception e){
|
||||
|
||||
} catch (Exception e) {
|
||||
Control.addExceptionInfo(1, e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(dubboPort!=null){
|
||||
JEditorPane infoPane=getJudgeInfoEditorPane(0);
|
||||
if(!existDubbo&&infoPane!=null)
|
||||
Control.addJudgeInfo(0,"Dubbo服务连接成功!URL:"+url);
|
||||
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"\nDubbo服务连接成功!URL:"+url+"\n");
|
||||
existDubbo=true;
|
||||
servicePort=dubboPort;
|
||||
}else{
|
||||
existDubbo=false;
|
||||
JEditorPane infoPane=getJudgeInfoEditorPane(1);
|
||||
if (dubboPort != null) {
|
||||
JEditorPane infoPane = getJudgeInfoEditorPane(0);
|
||||
if (!existDubbo && infoPane != null) {
|
||||
Control.addJudgeInfo(0, "Dubbo服务连接成功!URL:" + url);
|
||||
}
|
||||
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"\nDubbo服务连接成功!URL:"+url+"\n");
|
||||
existDubbo = true;
|
||||
servicePort = dubboPort;
|
||||
} else {
|
||||
existDubbo = false;
|
||||
JEditorPane infoPane = getJudgeInfoEditorPane(1);
|
||||
logger.log("请求dubbo服务失败", common.LogLevel.ERROR);
|
||||
Control.addExceptionInfo(1,"Dubbo服务连接失败!URL:"+url);
|
||||
Control.addExceptionInfo(1, "Dubbo服务连接失败!URL:" + url);
|
||||
//infoPane.setText(infoPane.getText()+LocalTime.now().toString()+"\nDubbo服务连接失败!URL:"+url+"\n");
|
||||
}
|
||||
|
||||
|
||||
//如果能使用dubbo服务就使用,不能的话就用原来的
|
||||
|
||||
}
|
||||
|
||||
public Webservice(){
|
||||
public Webservice() {
|
||||
try {
|
||||
DisableHostnameVerifier.disable();
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger(Webservice.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
if(!ENABLE_DUBBO){
|
||||
try{
|
||||
|
||||
//webs = new OJWS_Service();
|
||||
//servicePort = webs.getOJWSImplPort();
|
||||
}
|
||||
catch(Exception e){
|
||||
logger.log(e.getMessage(), common.LogLevel.ERROR);
|
||||
e.printStackTrace();
|
||||
if (!ENABLE_DUBBO) {
|
||||
try {
|
||||
|
||||
//webs = new OJWS_Service();
|
||||
//servicePort = webs.getOJWSImplPort();
|
||||
} catch (Exception e) {
|
||||
logger.log(e.getMessage(), common.LogLevel.ERROR);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
else
|
||||
} else {
|
||||
setDubbo();
|
||||
}
|
||||
}
|
||||
public Webservice(URL url,QName qname)throws java.rmi.RemoteException, MalformedURLException{
|
||||
url=new URL("https",url.getHost(),url.getPort(),url.getFile());
|
||||
|
||||
public Webservice(URL url, QName qname) throws java.rmi.RemoteException, MalformedURLException {
|
||||
url = new URL("https", url.getHost(), url.getPort(), url.getFile());
|
||||
try {
|
||||
DisableHostnameVerifier.disable();
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger(Webservice.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
if(!ENABLE_DUBBO){
|
||||
try{
|
||||
if (!ENABLE_DUBBO) {
|
||||
try {
|
||||
//webs = new OJWS_Service(url,qname);
|
||||
//servicePort = webs.getOJWSImplPort();
|
||||
|
||||
} catch (Exception e) {
|
||||
JEditorPane infoPane = getJudgeInfoEditorPane(1);
|
||||
Control.addExceptionInfo(0, LocalTime.now().toString() + e.getMessage() + "\n");
|
||||
}
|
||||
catch(Exception e){
|
||||
JEditorPane infoPane=getJudgeInfoEditorPane(1);
|
||||
Control.addExceptionInfo(0, LocalTime.now().toString()+e.getMessage()+"\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
} else {
|
||||
setDubbo();
|
||||
}
|
||||
public String getSolutions(int arg0)throws java.rmi.RemoteException{
|
||||
try{
|
||||
String s =this.servicePort.wsGetSolutions("judge","judge123",arg0);
|
||||
return s;
|
||||
}
|
||||
catch(Exception e){
|
||||
logger.log("getSolutions出错:"+e.getMessage(), common.LogLevel.ERROR);
|
||||
Control.addExceptionInfo(1, "getSolutions出错:"+e.getMessage()+"\n");
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
public String getProblem(int arg)throws java.rmi.RemoteException{
|
||||
|
||||
public String getSolutions(int arg0) throws java.rmi.RemoteException {
|
||||
try {
|
||||
String s = this.servicePort.wsGetSolutions("judge", "judge123", arg0);
|
||||
if (s.equals("")) {
|
||||
logger.log("警告:getSolutions获得的字符串为空!", LogLevel.WARNING);
|
||||
}
|
||||
return s;
|
||||
} catch (Exception e) {
|
||||
logger.log("getSolutions出错:" + e.getMessage(), common.LogLevel.ERROR);
|
||||
Control.addExceptionInfo(1, "getSolutions出错:" + e.getMessage() + "\n");
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
public String getProblem(int arg) throws java.rmi.RemoteException {
|
||||
// servicePort.wsGetProblem(arg0, arg1, arg, arg)
|
||||
try{
|
||||
byte[] soucre = this.servicePort.wsGetProblem4Judge("felix", "felix", arg);
|
||||
try {
|
||||
byte[] soucre = this.servicePort.wsGetProblem4Judge("felix", "felix", arg);
|
||||
String result = Decrypt.decrypt("felix10000", soucre);
|
||||
//String prob = result.replaceFirst("GBK", "UTF-8");
|
||||
if (result.equals("")) {
|
||||
logger.log("警告:wsGetProblem4Judge获得的字符串为空!", LogLevel.WARNING);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
catch(Exception e){
|
||||
} catch (Exception e) {
|
||||
logger.log(e.getMessage(), common.LogLevel.ERROR);
|
||||
Control.addExceptionInfo(1, LocalTime.now().toString()+e.getMessage()+"\n");
|
||||
return "";
|
||||
}
|
||||
}
|
||||
public String updateResult(String arg)throws java.rmi.RemoteException{
|
||||
try{
|
||||
byte[] data=Decrypt.encrypt("judge123", arg);
|
||||
String s = servicePort.wsUpdateResult("judge","judge123",data);
|
||||
return s;
|
||||
Control.addExceptionInfo(1, LocalTime.now().toString() + e.getMessage() + "\n");
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public String updateResult(String arg) throws java.rmi.RemoteException {
|
||||
try {
|
||||
byte[] data = Decrypt.encrypt("judge123", arg);
|
||||
String s = servicePort.wsUpdateResult("judge", "judge123", data);
|
||||
return s;
|
||||
} catch (Exception e) {
|
||||
logger.log(e.getMessage() + "\nRaw Information:" + arg, common.LogLevel.ERROR);
|
||||
Control.addExceptionInfo(1, LocalTime.now().toString() + e.getMessage() + "\n");
|
||||
return "";
|
||||
}
|
||||
catch(Exception e){
|
||||
logger.log(e.getMessage()+"\nRaw Information:"+arg, common.LogLevel.ERROR);
|
||||
Control.addExceptionInfo(1, LocalTime.now().toString()+e.getMessage()+"\n");
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
private static String getGbkString(String string) {
|
||||
|
|
@ -213,4 +222,4 @@ public class Webservice implements java.rmi.Remote{
|
|||
// }
|
||||
}
|
||||
|
||||
//////P.S.部署到服务器时要注意账号密码修改
|
||||
//////P.S.部署到服务器时要注意账号密码修改
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -9,4 +9,4 @@ file.reference.registry.jar=D:\\SchoolStudy\\ojrepull\\DHUOJ\\Lib\\registry.jar
|
|||
>>>>>>> 9424929ba4fe9afe21ab70bff638a1960335fa7f
|
||||
javac.debug=true
|
||||
javadoc.preview=true
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
<file>file:/E:/ojNew/Judger/src/MyCache/Problem.java</file>
|
||||
</group>
|
||||
<group name="论文"/>
|
||||
<group>
|
||||
<file>file:/D:/oj/Judger/src/main/Process.java</file>
|
||||
</group>
|
||||
<group/>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
|
|
|||
|
|
@ -185,6 +185,7 @@ public class ExeCommand {
|
|||
}
|
||||
|
||||
public int getJurgeResult(String command,String env, String input, long timeLimit) {
|
||||
if(command==null)command="";//Jared Ye 2025.3.24
|
||||
int result = -1;
|
||||
|
||||
Process p = null;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ package main;
|
|||
import MyCache.Shared;
|
||||
import java.util.List;
|
||||
import common.Const;
|
||||
import common.LogLevel;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.function.Consumer;
|
||||
|
|
@ -28,7 +29,7 @@ public class Process {
|
|||
|
||||
//º¯Êý½Ó¿Ú
|
||||
private Consumer<String> con;
|
||||
|
||||
private static common.Logger logger=common.Logger.getInstance();
|
||||
//×ÊÔ´
|
||||
private SolutionBean solutionBean = null;//2
|
||||
private ProblemBean problemBean = null;//3
|
||||
|
|
@ -154,7 +155,17 @@ public class Process {
|
|||
this.judger = new Judger();
|
||||
//Boolean is = this.judger.checkForCompiler();
|
||||
this.solutionBean.setLanguage(language);
|
||||
|
||||
if(compiler.trim().isEmpty()){
|
||||
logger.log("警告:compiler为空!已选择默认编译器。", LogLevel.WARNING);
|
||||
compiler=common.LangSelector.getDefaultCompiler(language);
|
||||
}
|
||||
|
||||
|
||||
this.solutionBean.setCompiler(compiler);
|
||||
|
||||
|
||||
|
||||
this.solutionBean.setSourceCode(sourceCode);
|
||||
this.problemBean.setTime_limit(timeOut);
|
||||
// if(is == false) return ;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#Mon, 10 Feb 2025 23:15:11 +0800
|
||||
#Tue, 13 Jan 2026 17:25:29 +0800
|
||||
|
||||
|
||||
D\:\\oj\\client=
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,147 +0,0 @@
|
|||
// API URL
|
||||
const apiUrl = 'http://www.52ac.tech/api/exam/getExamScoresByExamId2';
|
||||
|
||||
// 模拟获取考试名称的 API (你可以直接替换为真实的API)
|
||||
async function getExamNameById(examId) {
|
||||
// 模拟的API调用
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(() => {
|
||||
resolve({ name: '期中考试' });
|
||||
}, 1000);
|
||||
});
|
||||
}
|
||||
|
||||
// 模拟获取成绩数据的 API (替换为真实的API)
|
||||
async function getExamScoresByExamId(data) {
|
||||
// 使用 Fetch 来调用 API
|
||||
const response = await
|
||||
|
||||
fetch(apiUrl, {
|
||||
method: 'POST',
|
||||
//mode: 'no-cors',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
});
|
||||
|
||||
return response.json(); // 假设返回的数据为 JSON 格式
|
||||
}
|
||||
|
||||
// 渲染表格数据
|
||||
function renderTable(data) {
|
||||
const tableContainer = document.getElementById('table-container');
|
||||
|
||||
if (!data || data.length === 0) {
|
||||
tableContainer.innerHTML = '<p>No data available.</p>';
|
||||
return;
|
||||
}
|
||||
|
||||
let table = `<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>序号</th>
|
||||
<th>学号</th>
|
||||
<th>班级</th>
|
||||
<th>分数</th>
|
||||
<th>题解数</th>
|
||||
<th>提交数</th>
|
||||
<th>已提交</th>
|
||||
<th>正在做</th>
|
||||
<th>未做</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>`;
|
||||
|
||||
data.forEach((row, index) => {
|
||||
table += `<tr>
|
||||
<td>${index + 1}</td>
|
||||
<td>${row.studentNo}</td>
|
||||
<td>${row.banji}</td>
|
||||
<td>${(row.score * 100).toFixed(2)}</td>
|
||||
<td>${row.solve}</td>
|
||||
<td>${row.submit}</td>
|
||||
<td>${renderMultiLine(row.submited)}</td>
|
||||
<td>${renderMultiLine(row.doing)}</td>
|
||||
<td>${renderMultiLine(row.undo)}</td>
|
||||
</tr>`;
|
||||
});
|
||||
|
||||
table += `</tbody></table>`;
|
||||
tableContainer.innerHTML = table;
|
||||
}
|
||||
|
||||
// 渲染多行文本内容
|
||||
function renderMultiLine(array) {
|
||||
if (!array) return '';
|
||||
return array.join('、').replace(/(.{10})/g, '$1\n');
|
||||
}
|
||||
|
||||
// 渲染分页
|
||||
function renderPagination(total, pageSize, currentPage) {
|
||||
const paginationContainer = document.getElementById('pagination');
|
||||
const totalPages = Math.ceil(total / pageSize);
|
||||
|
||||
let paginationHTML = '';
|
||||
|
||||
for (let i = 1; i <= totalPages; i++) {
|
||||
paginationHTML += `<span class="page-item ${i === currentPage ? 'active-page' : ''}" data-page="${i}">${i}</span> `;
|
||||
}
|
||||
|
||||
paginationContainer.innerHTML = paginationHTML;
|
||||
|
||||
// 添加分页点击事件
|
||||
document.querySelectorAll('.page-item').forEach(item => {
|
||||
item.addEventListener('click', function () {
|
||||
const page = parseInt(this.getAttribute('data-page'));
|
||||
loadExamScores(page);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 加载考试成绩
|
||||
async function loadExamScores(pageNum = 1) {
|
||||
const examId = '362'; // 这里的 examId 根据实际情况获取
|
||||
const pageSize = 100;
|
||||
|
||||
const params = {
|
||||
examId: examId,
|
||||
fromclient: false,
|
||||
pageNum: pageNum,
|
||||
pageSize: pageSize
|
||||
};
|
||||
|
||||
try {
|
||||
const result = await getExamScoresByExamId(params);
|
||||
|
||||
if (result.code === 0) {
|
||||
const data = result.data.list;
|
||||
renderTable(data);
|
||||
renderPagination(result.data.total, pageSize, pageNum);
|
||||
} else {
|
||||
document.getElementById('notifyMsg').innerText = result.message;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to fetch exam scores:', error);
|
||||
document.getElementById('notifyMsg').innerText = '获取本场考试成绩失败!';
|
||||
}
|
||||
}
|
||||
|
||||
// 获取并显示考试名称
|
||||
async function loadExamName() {
|
||||
const examId = '362'; // 根据实际情况获取 examId
|
||||
try {
|
||||
const result = await getExamNameById(examId);
|
||||
document.getElementById('exam-name').innerText = `${result.name} 考试成绩`;
|
||||
} catch (error) {
|
||||
console.error('Failed to fetch exam name:', error);
|
||||
document.getElementById('notifyMsg').innerText = '获取考试信息失败';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 页面加载时执行
|
||||
window.onload = function () {
|
||||
loadExamName();
|
||||
loadExamScores();
|
||||
};
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#update config/config.properties
|
||||
#Mon Feb 10 23:05:10 GMT+08:00 2025
|
||||
Debug=1
|
||||
JavaCompileDir=
|
||||
JavaRelative=-1
|
||||
MinGWDir=D\:\\SchoolStudy\\OJ_netbeans\\OJ\\client\\MinGW\\bin
|
||||
MinGWRelative=1
|
||||
URLip=106.15.36.190
|
||||
URLport=8080
|
||||
Username=felix
|
||||
isCppRelative=true
|
||||
isJavaRelative=true
|
||||
relativeCCompilerDir=\\MinGW\\bin
|
||||
relativeCppCompilerDir=\\MinGW\\bin
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#update dbConfig.properties
|
||||
#Sun Nov 06 23:15:44 CST 2016
|
||||
hibernate.connection.username=root
|
||||
hibernate.connection.password=1a2b3c4d
|
||||
hibernate.connection.url=jdbc\:mysql\://121.42.40.51\:3306/gdoj?useUnicode\=true&characterEncoding\=UTF-8
|
||||
hibernate.connection.driver_class=com.mysql.jdbc.Driver
|
||||
|
|
@ -0,0 +1,226 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
解码 .dat 文件到 XML 文件的脚本
|
||||
|
||||
使用方法:
|
||||
python decode_dat_to_xml.py <input_file> [--key KEY] [--output OUTPUT] [--batch]
|
||||
|
||||
示例:
|
||||
python decode_dat_to_xml.py ./xml/examproblems.dat # 自动检测密钥
|
||||
python decode_dat_to_xml.py ./xml/user.dat # 自动使用公钥
|
||||
python decode_dat_to_xml.py ./xml/1000000000/examproblems_26.dat # 自动使用目录名作为密钥
|
||||
python decode_dat_to_xml.py ./xml --batch # 批量处理整个目录
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import argparse
|
||||
from Crypto.Cipher import DES
|
||||
from Crypto.Util.Padding import unpad
|
||||
|
||||
# 项目中的固定公钥(用于 user.dat 文件)
|
||||
PUBLIC_KEY = "1413201160"
|
||||
|
||||
def detect_key_from_path(file_path):
|
||||
"""
|
||||
从文件路径自动检测密钥
|
||||
|
||||
Args:
|
||||
file_path: 文件路径
|
||||
|
||||
Returns:
|
||||
检测到的密钥,如果无法检测则返回None
|
||||
"""
|
||||
# 标准化路径
|
||||
normalized_path = os.path.normpath(file_path)
|
||||
path_parts = normalized_path.split(os.sep)
|
||||
|
||||
# 检查是否是 user.dat 文件(使用公钥)
|
||||
if os.path.basename(normalized_path) == "user.dat":
|
||||
return PUBLIC_KEY
|
||||
|
||||
# 检查文件是否在用户目录下(例如: xml/1000000000/examproblems_26.dat)
|
||||
# 用户目录通常是8-10位数字
|
||||
# 遍历路径的每一部分,查找数字目录名
|
||||
for i, part in enumerate(path_parts):
|
||||
# 检查是否是用户ID目录(8-10位数字)
|
||||
if part.isdigit() and 8 <= len(part) <= 10:
|
||||
# 如果这是目录名,且文件在这个目录下,使用这个目录名作为密钥
|
||||
# 例如: xml/1000000000/examproblems_26.dat
|
||||
if i < len(path_parts) - 1: # 确保后面还有文件
|
||||
return part
|
||||
|
||||
# 如果文件在 xml 根目录下,尝试从文件名或父目录推断
|
||||
# 但这种情况通常需要手动指定密钥
|
||||
return None
|
||||
|
||||
def decrypt_dat_file(input_file, key=None, output_file=None):
|
||||
"""
|
||||
解密 .dat 文件到 XML
|
||||
|
||||
Args:
|
||||
input_file: 输入的 .dat 文件路径
|
||||
key: DES 解密密钥(如果为None,则自动检测)
|
||||
output_file: 输出的 XML 文件路径(如果为None,则自动生成)
|
||||
"""
|
||||
# 检查输入文件是否存在
|
||||
if not os.path.exists(input_file):
|
||||
print(f"错误: 文件不存在: {input_file}")
|
||||
return False
|
||||
|
||||
# 如果没有提供密钥,尝试自动检测
|
||||
if key is None:
|
||||
detected_key = detect_key_from_path(input_file)
|
||||
if detected_key:
|
||||
key = detected_key
|
||||
print(f"自动检测到密钥: {key}")
|
||||
else:
|
||||
print(f"无法自动检测密钥,请手动指定")
|
||||
return False
|
||||
|
||||
# 处理密钥:如果长度小于10,补0到10位(与Java代码逻辑一致)
|
||||
if len(key) < 10:
|
||||
key = key + "0" * (10 - len(key))
|
||||
|
||||
# 确保密钥至少8位(DES要求)
|
||||
if len(key) < 8:
|
||||
key = key + "0" * (8 - len(key))
|
||||
|
||||
# 只取前8位作为DES密钥(DES密钥必须是8字节)
|
||||
des_key = key[:8].encode('utf-8')
|
||||
|
||||
# IV 固定为 "12345678"(与Java代码一致)
|
||||
iv = b"12345678"
|
||||
|
||||
try:
|
||||
# 读取加密文件
|
||||
with open(input_file, 'rb') as f:
|
||||
encrypted_data = f.read()
|
||||
|
||||
if len(encrypted_data) == 0:
|
||||
print("错误: 文件为空")
|
||||
return False
|
||||
|
||||
# 创建 DES 解密器
|
||||
cipher = DES.new(des_key, DES.MODE_CBC, iv)
|
||||
|
||||
# 解密数据
|
||||
decrypted_data = cipher.decrypt(encrypted_data)
|
||||
|
||||
# 去除 PKCS5 填充
|
||||
try:
|
||||
decrypted_data = unpad(decrypted_data, 8)
|
||||
except ValueError as e:
|
||||
print(f"警告: 去除填充时出错,可能文件格式不正确: {e}")
|
||||
# 尝试直接使用,可能是未填充的数据
|
||||
pass
|
||||
|
||||
# 尝试解码为字符串(使用GBK编码,因为Java代码中使用了GBK)
|
||||
try:
|
||||
xml_content = decrypted_data.decode('GBK')
|
||||
except UnicodeDecodeError:
|
||||
# 如果GBK失败,尝试UTF-8
|
||||
try:
|
||||
xml_content = decrypted_data.decode('UTF-8')
|
||||
except UnicodeDecodeError:
|
||||
# 如果都失败,尝试使用错误处理
|
||||
xml_content = decrypted_data.decode('GBK', errors='ignore')
|
||||
print("警告: 使用GBK解码时遇到无法解码的字符,已忽略")
|
||||
|
||||
# 确定输出文件路径
|
||||
if output_file is None:
|
||||
# 自动生成输出文件名:将 .dat 扩展名改为 .xml
|
||||
base_name = os.path.splitext(input_file)[0]
|
||||
output_file = base_name + ".xml"
|
||||
|
||||
# 写入XML文件
|
||||
with open(output_file, 'w', encoding='utf-8') as f:
|
||||
f.write(xml_content)
|
||||
|
||||
print(f"成功! 解密后的XML文件已保存到: {output_file}")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"错误: 解密过程中出现异常: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
def batch_process(directory):
|
||||
"""
|
||||
批量处理目录中的所有 .dat 文件
|
||||
|
||||
Args:
|
||||
directory: 要处理的目录路径
|
||||
"""
|
||||
if not os.path.isdir(directory):
|
||||
print(f"错误: {directory} 不是一个有效的目录")
|
||||
return False
|
||||
|
||||
success_count = 0
|
||||
fail_count = 0
|
||||
|
||||
# 递归查找所有 .dat 文件
|
||||
for root, dirs, files in os.walk(directory):
|
||||
for file in files:
|
||||
if file.endswith('.dat'):
|
||||
file_path = os.path.join(root, file)
|
||||
print(f"\n处理文件: {file_path}")
|
||||
if decrypt_dat_file(file_path):
|
||||
success_count += 1
|
||||
else:
|
||||
fail_count += 1
|
||||
|
||||
print(f"\n批量处理完成: 成功 {success_count} 个, 失败 {fail_count} 个")
|
||||
return fail_count == 0
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description='解码 .dat 文件到 XML 文件(自动检测密钥)',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
epilog="""
|
||||
示例:
|
||||
%(prog)s ./xml/examproblems.dat # 自动检测密钥
|
||||
%(prog)s ./xml/user.dat # 自动使用公钥 "1413201160"
|
||||
%(prog)s ./xml/1000000000/examproblems_26.dat # 自动使用目录名作为密钥
|
||||
%(prog)s ./xml/examproblems.dat --key "userid1234" # 手动指定密钥
|
||||
%(prog)s ./xml --batch # 批量处理整个目录
|
||||
"""
|
||||
)
|
||||
|
||||
parser.add_argument('input_path', help='输入的 .dat 文件路径或目录路径(使用 --batch 时)')
|
||||
parser.add_argument('--key', '-k', help='DES 解密密钥(用户ID,至少8位)。如果不指定,将自动检测')
|
||||
parser.add_argument('--output', '-o', help='输出的 XML 文件路径(默认为输入文件名.xml)')
|
||||
parser.add_argument('--batch', '-b', action='store_true', help='批量处理目录中的所有 .dat 文件')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# 批量处理模式
|
||||
if args.batch:
|
||||
success = batch_process(args.input_path)
|
||||
sys.exit(0 if success else 1)
|
||||
|
||||
# 单个文件处理模式
|
||||
# 如果没有提供密钥,尝试自动检测,如果检测失败则提示用户输入
|
||||
key = args.key
|
||||
if key is None:
|
||||
detected_key = detect_key_from_path(args.input_path)
|
||||
if detected_key:
|
||||
key = detected_key
|
||||
print(f"自动检测到密钥: {key}")
|
||||
else:
|
||||
key = input("无法自动检测密钥,请输入解密密钥(用户ID): ").strip()
|
||||
if not key:
|
||||
print("错误: 密钥不能为空")
|
||||
sys.exit(1)
|
||||
|
||||
# 执行解密
|
||||
success = decrypt_dat_file(args.input_path, key, args.output)
|
||||
|
||||
if not success:
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 913 B |
|
|
@ -1,3 +1,4 @@
|
|||
application.args=-Dfile.encoding=GBK ^ --add-opens java.base/java.math=ALL-UNNAMED ^ --add-opens java.base/java.lang=ALL-UNNAMED ^ --add-opens java.base/java.util=ALL-UNNAMED ^ --add-opens java.base/java.util.concurrent=ALL-UNNAMED ^ --module-path .\\javafx-sdk-23.0.2\\lib ^ --add-modules javafx.controls,javafx.fxml,javafx.web ^ --add-exports javafx.graphics/com.sun.javafx.application=ALL-UNNAMED ^ --add-exports javafx.base/com.sun.javafx.logging=ALL-UNNAMED ^ --add-exports javafx.graphics/com.sun.javafx.util=ALL-UNNAMED ^ --add-exports javafx.graphics/com.sun.javafx.embed=ALL-UNNAMED ^ --add-exports javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED ^ --add-exports javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED ^ --add-exports javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED ^ --add-exports javafx.graphics/com.sun.javafx.cursor=ALL-UNNAMED ^ --add-exports javafx.graphics/com.sun.glass.ui=ALL-UNNAMED ^ -jar
|
||||
compile.on.save=true
|
||||
do.depend=false
|
||||
do.jar=true
|
||||
|
|
@ -5,4 +6,4 @@ do.jlink=false
|
|||
javac.debug=true
|
||||
javadoc.preview=true
|
||||
jlink.strip=false
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\24\\build.properties
|
||||
user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
|
||||
|
|
|
|||
|
|
@ -4,17 +4,16 @@
|
|||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group name="最新版本代码"/>
|
||||
<group>
|
||||
<file>file:/D:/oj/client/nbproject/build-impl.xml</file>
|
||||
<file>file:/D:/oj/client/src/client/view/panel/AnswerTablePanel.java</file>
|
||||
<file>file:/D:/oj/client/src/client/util/similarity/check.java</file>
|
||||
<file>file:/D:/oj/client/src/client/util/Decrypt.java</file>
|
||||
<file>file:/D:/oj/client/src/client/service/web/Webservice.java</file>
|
||||
<file>file:/D:/oj/client/src/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl</file>
|
||||
<file>file:/D:/oj/client/src/client/service/DownSwingWorker.java</file>
|
||||
<file>file:/D:/oj/client/src/edu/dhu/ws/OJWS.java</file>
|
||||
<file>file:/D:/oj/client/src/META-INF/jax-ws-catalog.xml</file>
|
||||
<file>file:/D:/oj/client/src/client/service/DownSwingWorker.java</file>
|
||||
<file>file:/D:/oj/client/src/client/service/ProblemURL.java</file>
|
||||
<file>file:/D:/oj/client/src/client/view/frame/MainFrame.java</file>
|
||||
<file>file:/D:/oj/client/src/client/view/panel/PaperPanel.java</file>
|
||||
<file>file:/D:/oj/client/xml-resources/web-service-references/OJWS/wsdl/219.228.76.122_8080/oj/webservice/OJWS.wsdl</file>
|
||||
<file>file:/D:/oj/client/src/client/service/DownloadFile.java</file>
|
||||
<file>file:/D:/oj/client/src/client/util/Control.java</file>
|
||||
<file>file:/D:/oj/client/src/client/io/xml/User_io.java</file>
|
||||
<file>file:/D:/oj/client/src/client/view/frame/LoginFrame.java</file>
|
||||
</group>
|
||||
</open-files>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ dist.archive.excludes=
|
|||
dist.dir=dist
|
||||
dist.jar=${dist.dir}/client.jar
|
||||
dist.javadoc.dir=${dist.dir}/javadoc
|
||||
endorsed.classpath=
|
||||
endorsed.classpath=\
|
||||
${libs.JAX-WS-ENDORSED.classpath}
|
||||
excludes=
|
||||
file.reference.activemq-broker-5.8.0.jar-1=clientLib/activemq-broker-5.8.0.jar
|
||||
file.reference.activemq-client-5.8.0.jar-1=clientLib/activemq-client-5.8.0.jar
|
||||
|
|
@ -43,7 +44,6 @@ file.reference.cglib-nodep-2.1.3.jar-1=clientLib/cglib-nodep-2.1.3.jar
|
|||
file.reference.clientLib-dubbo_related=clientLib/dubbo_related
|
||||
file.reference.clientLib-hamcrest=clientLib/hamcrest
|
||||
file.reference.clientLib-javafx-sdk-21.0.5=clientLib/javafx-sdk-21.0.5
|
||||
file.reference.clientLib-Lib=clientLib/Lib
|
||||
file.reference.clientUpdater.jar=clientLib/clientUpdater.jar
|
||||
file.reference.commons-codec-1.7.jar-1=clientLib/commons-codec-1.7.jar
|
||||
file.reference.commons-collections-2.1.1.jar-1=clientLib/commons-collections-2.1.1.jar
|
||||
|
|
@ -441,9 +441,9 @@ javac.classpath=\
|
|||
${file.reference.xsdlib-2010.1.jar}:\
|
||||
${file.reference.swt.jar}:\
|
||||
${reference.Common.jar}:\
|
||||
${reference.Judger.jar}:\
|
||||
${file.reference.registry.jar}:\
|
||||
${file.reference.rsyntaxtextarea.jar}:\
|
||||
${reference.Judger.jar}:\
|
||||
${reference.clientUpdater.jar}:\
|
||||
${file.reference.junit-4.12.jar}:\
|
||||
${file.reference.spring-aop-3.0.7.RELEASE.jar}:\
|
||||
|
|
@ -475,7 +475,6 @@ javac.classpath=\
|
|||
${file.reference.DJNativeSwing.jar-1}:\
|
||||
${file.reference.FastInfoset-1.2.12.jar-1}:\
|
||||
${file.reference.Judger.jar}:\
|
||||
${file.reference.clientLib-Lib}:\
|
||||
${file.reference.activemq-broker-5.8.0.jar-1}:\
|
||||
${file.reference.activemq-client-5.8.0.jar-1}:\
|
||||
${file.reference.activemq-openwire-legacy-5.8.0.jar-1}:\
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
pycryptodome>=3.15.0
|
||||
|
||||
|
|
@ -6,6 +6,8 @@
|
|||
package client.io.xml;
|
||||
|
||||
import client.util.Control;
|
||||
import common.LogLevel;
|
||||
import common.Logger;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
|
|
@ -36,12 +38,13 @@ import org.xml.sax.SAXException;
|
|||
public class SubmitProblem {
|
||||
|
||||
private Document document;
|
||||
|
||||
private Logger logger;
|
||||
|
||||
public void init() {
|
||||
try {
|
||||
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||
this.logger=Logger.getInstance();
|
||||
this.document = db.newDocument();
|
||||
} catch (ParserConfigurationException e) {
|
||||
e.printStackTrace();
|
||||
|
|
@ -150,15 +153,20 @@ public class SubmitProblem {
|
|||
if(status.equals("Success")){
|
||||
return "true";
|
||||
}
|
||||
logger.log("[提交代码]status获取成功:"+status, LogLevel.INFO);
|
||||
return status;
|
||||
}catch(FileNotFoundException e){
|
||||
e.printStackTrace();
|
||||
logger.log("[提交代码]status失败:FileNotFoundException"+e.getMessage(), LogLevel.ERROR);
|
||||
}catch(ParserConfigurationException e){
|
||||
e.printStackTrace();
|
||||
logger.log("[提交代码]status失败:ParserConfigurationException"+e.getMessage(), LogLevel.ERROR);
|
||||
}catch(SAXException e){
|
||||
e.printStackTrace();
|
||||
logger.log("[提交代码]status失败:SAXException"+e.getMessage(), LogLevel.ERROR);
|
||||
}catch(IOException e){
|
||||
e.printStackTrace();
|
||||
logger.log("[提交代码]status失败:IOException"+e.getMessage(), LogLevel.ERROR);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -208,6 +208,7 @@ public class DownSwingWorker extends SwingWorker<List<Integer>, String> {
|
|||
// Object[] obj =client.invoke("WS_GetProblem",username,passwd,problemId);
|
||||
String pro = Decrypt.decrypt(key, by);
|
||||
// String prob = pro.replaceFirst("GBK", "UTF-8");
|
||||
//System.out.println("获取题目的XML:"+pro);
|
||||
val.add(Integer.valueOf(progressValue));
|
||||
publish((progressValue++) + "/" + numall + ":第" + (i + 1) + "题已下载");
|
||||
ProblemURL rUrl = new ProblemURL(pro);
|
||||
|
|
@ -268,7 +269,7 @@ public class DownSwingWorker extends SwingWorker<List<Integer>, String> {
|
|||
|
||||
// Object[] obj =client.invoke("WS_GetProblem",username,passwd,problemId);
|
||||
String pro = Decrypt.decrypt(key, by);
|
||||
System.out.println(pro);
|
||||
//System.out.println("获取题目的XML:"+pro);
|
||||
val.add(Integer.valueOf(progressValue));
|
||||
publish((progressValue++) + "/" + numall + " 题已重新下载");
|
||||
ProblemURL rUrl = new ProblemURL(pro);
|
||||
|
|
|
|||
|
|
@ -22,64 +22,132 @@ public class DownloadFile {
|
|||
private List<String> remoteFilePath;
|
||||
private List<String> localFilePath;
|
||||
public DownloadFile(List<String> remoteFilePath, List<String> localFilePath) throws Exception{
|
||||
System.out.println("[DownloadFile] Initializing download for " + remoteFilePath.size() + " file(s)");
|
||||
this.remoteFilePath = remoteFilePath;
|
||||
this.localFilePath = localFilePath;
|
||||
download();
|
||||
}
|
||||
|
||||
private void download() throws Exception{
|
||||
System.out.println("[DownloadFile] Starting download process...");
|
||||
int successCount = 0;
|
||||
int skipCount = 0;
|
||||
int failCount = 0;
|
||||
|
||||
for(int i=0;i<remoteFilePath.size();i++){
|
||||
System.out.println("[DownloadFile] ========================================");
|
||||
System.out.println("[DownloadFile] Processing file " + (i+1) + "/" + remoteFilePath.size());
|
||||
System.out.println("[DownloadFile] Remote URL: " + remoteFilePath.get(i));
|
||||
System.out.println("[DownloadFile] Local path: " + localFilePath.get(i));
|
||||
|
||||
URL urlfile = null;
|
||||
HttpURLConnection httpUrl = null;
|
||||
BufferedInputStream bis = null;
|
||||
BufferedOutputStream bos = null;
|
||||
//File f = new File(localFilePath.get(i));
|
||||
File f = new File(localFilePath.get(i));
|
||||
|
||||
try {
|
||||
////System.out.println(f.exists());
|
||||
if (f.exists()) {
|
||||
// Check if file already exists
|
||||
if (f.exists()) {
|
||||
long fileSize = f.length();
|
||||
System.out.println("[DownloadFile] File already exists, size: " + fileSize + " bytes");
|
||||
System.out.println("[DownloadFile] Skipping download");
|
||||
skipCount++;
|
||||
continue;
|
||||
}
|
||||
if (!f.getParentFile().exists()) {
|
||||
f.getParentFile().mkdirs();
|
||||
}
|
||||
f.createNewFile();
|
||||
} catch (Exception e) {
|
||||
throw e;
|
||||
}
|
||||
|
||||
// Create parent directories if they don't exist
|
||||
File parentDir = f.getParentFile();
|
||||
if (parentDir != null && !parentDir.exists()) {
|
||||
System.out.println("[DownloadFile] Creating parent directory: " + parentDir.getAbsolutePath());
|
||||
boolean created = parentDir.mkdirs();
|
||||
System.out.println("[DownloadFile] Parent directory created: " + created);
|
||||
}
|
||||
|
||||
System.out.println("[DownloadFile] Creating new file: " + f.getAbsolutePath());
|
||||
boolean fileCreated = f.createNewFile();
|
||||
System.out.println("[DownloadFile] File created: " + fileCreated);
|
||||
} catch (Exception e) {
|
||||
System.out.println("[DownloadFile] ERROR: Failed to prepare local file");
|
||||
System.out.println("[DownloadFile] Exception: " + e.getClass().getName() + ": " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
failCount++;
|
||||
continue;
|
||||
}
|
||||
try
|
||||
{
|
||||
|
||||
long bytesDownloaded = 0;
|
||||
try {
|
||||
System.out.println("[DownloadFile] Connecting to remote URL...");
|
||||
urlfile = new URL(remoteFilePath.get(i));
|
||||
httpUrl = (HttpURLConnection)urlfile.openConnection();
|
||||
httpUrl.setConnectTimeout(10000); // 10 seconds timeout
|
||||
httpUrl.setReadTimeout(10000); // 10 seconds timeout
|
||||
|
||||
int responseCode = httpUrl.getResponseCode();
|
||||
System.out.println("[DownloadFile] HTTP Response Code: " + responseCode);
|
||||
|
||||
if (responseCode != HttpURLConnection.HTTP_OK) {
|
||||
System.out.println("[DownloadFile] ERROR: HTTP response code is not OK (200)");
|
||||
failCount++;
|
||||
continue;
|
||||
}
|
||||
|
||||
System.out.println("[DownloadFile] Connection established, starting download...");
|
||||
httpUrl.connect();
|
||||
bis = new BufferedInputStream(httpUrl.getInputStream());
|
||||
bos = new BufferedOutputStream(new FileOutputStream(f));
|
||||
int len = 2048;
|
||||
byte[] b = new byte[len];
|
||||
while ((len = bis.read(b)) != -1)
|
||||
{
|
||||
bos.write(b, 0, len);
|
||||
while ((len = bis.read(b)) != -1) {
|
||||
bos.write(b, 0, len);
|
||||
bytesDownloaded += len;
|
||||
}
|
||||
bos.flush();
|
||||
bis.close();
|
||||
httpUrl.disconnect();
|
||||
System.out.println("[DownloadFile] Download completed, bytes downloaded: " + bytesDownloaded);
|
||||
System.out.println("[DownloadFile] File size on disk: " + f.length() + " bytes");
|
||||
successCount++;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
catch (Exception e) {
|
||||
System.out.println("[DownloadFile] ERROR: Download failed");
|
||||
System.out.println("[DownloadFile] Exception: " + e.getClass().getName() + ": " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
if (bis!=null) bis.close();
|
||||
if (bos!=null) bos.close();
|
||||
failCount++;
|
||||
|
||||
// Delete partial file on error
|
||||
if (f.exists() && f.length() == 0) {
|
||||
boolean deleted = f.delete();
|
||||
System.out.println("[DownloadFile] Deleted partial file: " + deleted);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if (bis != null) {
|
||||
bis.close();
|
||||
System.out.println("[DownloadFile] Input stream closed");
|
||||
}
|
||||
if (bos != null) {
|
||||
bos.close();
|
||||
System.out.println("[DownloadFile] Output stream closed");
|
||||
}
|
||||
if (httpUrl != null) {
|
||||
httpUrl.disconnect();
|
||||
System.out.println("[DownloadFile] HTTP connection disconnected");
|
||||
}
|
||||
}
|
||||
catch (IOException e) {
|
||||
System.out.println("[DownloadFile] WARNING: Error closing streams");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("[DownloadFile] ========================================");
|
||||
}
|
||||
|
||||
System.out.println("[DownloadFile] ========================================");
|
||||
System.out.println("[DownloadFile] Download summary:");
|
||||
System.out.println("[DownloadFile] Total files: " + remoteFilePath.size());
|
||||
System.out.println("[DownloadFile] Successful: " + successCount);
|
||||
System.out.println("[DownloadFile] Skipped (exists): " + skipCount);
|
||||
System.out.println("[DownloadFile] Failed: " + failCount);
|
||||
System.out.println("[DownloadFile] ========================================");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,3 @@
|
|||
/*
|
||||
* 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 client.service;
|
||||
|
||||
import client.util.CreateProblemHtml;
|
||||
|
|
@ -11,90 +6,143 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import client.util.Control;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author ytxlo
|
||||
*/
|
||||
public class ProblemURL {
|
||||
private String code;
|
||||
private List<String> url_net;
|
||||
private List<String> url_local;
|
||||
private String in = ".";
|
||||
private String in = "."; // Default local path
|
||||
private String url = null;
|
||||
public ProblemURL(String code) throws Exception{
|
||||
url = Config.getURLip()+":"+Config.getURLport();
|
||||
|
||||
public ProblemURL(String code) throws Exception {
|
||||
System.out.println("[ProblemURL] Starting URL processing...");
|
||||
this.code = code;
|
||||
url_net = new ArrayList<String>();
|
||||
url_local = new ArrayList<String>();
|
||||
runToGetUrl();
|
||||
runToGetUrl_l();
|
||||
url_net = new ArrayList<>();
|
||||
url_local = new ArrayList<>();
|
||||
|
||||
// Check if XML contains any matching URLs
|
||||
boolean hasMatches = containsMatchingUrl(code);
|
||||
System.out.println("[ProblemURL] Contains matching URLs: " + hasMatches);
|
||||
|
||||
if (hasMatches) {
|
||||
System.out.println("[ProblemURL] Processing image URLs...");
|
||||
processUrls("image");
|
||||
System.out.println("[ProblemURL] Processing file URLs...");
|
||||
processUrls("file");
|
||||
} else {
|
||||
System.out.println("[ProblemURL] No matching URLs found in XML");
|
||||
}
|
||||
System.out.println("[ProblemURL] URL processing completed");
|
||||
}
|
||||
private void runToGetUrl() throws Exception{
|
||||
url_net = new ArrayList<String>();
|
||||
url_local = new ArrayList<String>();
|
||||
|
||||
String strContent = code;
|
||||
////System.out.println(code);
|
||||
String regex = "/oj/upload/(image|file)/[^[A-Za-z0-9\\._\\?%&+\\-=/#]]*";
|
||||
|
||||
private boolean containsMatchingUrl(String code) {
|
||||
// Modified regex to support paths with/without leading slash, ./ prefix, and after quotes
|
||||
// Matches: /oj/upload/image/..., oj/upload/image/..., ./oj/upload/image/..., src="oj/upload/image/...
|
||||
String regex = "(?:\\.?/|^|\")oj/upload/(image|file)/[A-Za-z0-9\\._\\?%&+\\-=/#]*";
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(strContent);
|
||||
StringBuffer result = new StringBuffer();
|
||||
while (matcher.find()) {
|
||||
String urlStr=matcher.group();
|
||||
System.out.println(urlStr);
|
||||
StringBuffer replace = new StringBuffer(urlStr);
|
||||
StringBuffer net = new StringBuffer();
|
||||
net.append("http://").append(url).append(urlStr);
|
||||
////System.out.println(replace.toString());
|
||||
replace.delete(0, 10);
|
||||
////System.out.println(replace.toString());
|
||||
replace.insert(0,in);
|
||||
url_net.add(net.toString());
|
||||
url_local.add(replace.toString());
|
||||
//replace.delete(0, 6);
|
||||
System.out.println(net.toString());
|
||||
System.out.println(replace.toString());
|
||||
matcher.appendReplacement(result, replace.toString());
|
||||
}
|
||||
matcher.appendTail(result);
|
||||
DownloadFile df = new DownloadFile(url_net, url_local);
|
||||
Matcher matcher = pattern.matcher(code);
|
||||
boolean found = matcher.find();
|
||||
if (found) {
|
||||
System.out.println("[ProblemURL] Regex pattern matched in XML content");
|
||||
}
|
||||
return found;
|
||||
}
|
||||
|
||||
private void processUrls(String type) throws Exception {
|
||||
// Create temporary lists for each type to avoid class-level variable accumulation
|
||||
List<String> typeUrls = new ArrayList<>();
|
||||
List<String> typePaths = new ArrayList<>();
|
||||
|
||||
System.out.println("[ProblemURL] Processing type: " + type);
|
||||
System.out.println("[ProblemURL] Regex pattern: (?:\\.?/|^|\")oj/upload/(" + type + ")/[A-Za-z0-9\\._\\?%&+\\-=/#]*");
|
||||
|
||||
// Modified regex to support paths with/without leading slash, ./ prefix, and after quotes
|
||||
// Matches: /oj/upload/image/..., oj/upload/image/..., ./oj/upload/image/..., src="oj/upload/image/...
|
||||
String regex = "(?:\\.?/|^|\")oj/upload/(" + type + ")/[A-Za-z0-9\\._\\?%&+\\-=/#]*";
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(code);
|
||||
StringBuffer result = new StringBuffer();
|
||||
|
||||
int matchCount = 0;
|
||||
|
||||
while (matcher.find()) {
|
||||
matchCount++;
|
||||
String urlStr = matcher.group();
|
||||
System.out.println("[ProblemURL] Match #" + matchCount + " found: " + urlStr);
|
||||
|
||||
// Unified processing: remove ./ prefix or quote if exists, ensure urlStr starts with /oj/upload/ (for building network URL)
|
||||
String urlStrForNet = urlStr;
|
||||
if (urlStrForNet.startsWith("\"")) {
|
||||
urlStrForNet = urlStrForNet.substring(1); // Remove leading quote
|
||||
System.out.println("[ProblemURL] Removed leading quote, new path: " + urlStrForNet);
|
||||
}
|
||||
if (urlStrForNet.startsWith("./")) {
|
||||
urlStrForNet = urlStrForNet.substring(2); // Remove "./"
|
||||
System.out.println("[ProblemURL] Removed ./ prefix, new path: " + urlStrForNet);
|
||||
}
|
||||
if (!urlStrForNet.startsWith("/")) {
|
||||
urlStrForNet = "/" + urlStrForNet;
|
||||
System.out.println("[ProblemURL] Added leading slash, new path: " + urlStrForNet);
|
||||
}
|
||||
|
||||
String urlPrefix = Control.determineProtocol() + "://" + Control.getIp(); // Get server IP from config file for downloading images
|
||||
System.out.println("[ProblemURL] URL prefix: " + urlPrefix);
|
||||
String netUrl = urlPrefix + urlStrForNet;
|
||||
|
||||
// Map /oj/upload/image/... to ./oj/upload/image/...
|
||||
// Map /oj/upload/file/... to ./oj/upload/file/...
|
||||
// Keep the /oj/upload/ structure to match existing successful cases
|
||||
String localUrl = in + urlStrForNet;
|
||||
|
||||
typeUrls.add(netUrl);
|
||||
typePaths.add(localUrl);
|
||||
|
||||
System.out.println("[ProblemURL] Original URL in XML: " + urlStr);
|
||||
System.out.println("[ProblemURL] Network URL for download: " + netUrl);
|
||||
System.out.println("[ProblemURL] Local file path: " + localUrl);
|
||||
System.out.println("[ProblemURL] ---");
|
||||
|
||||
// Replace in XML: keep the original quote if it existed, use local path
|
||||
// If original had quote, replace with quoted local path; otherwise use local path directly
|
||||
String replacement;
|
||||
if (urlStr.startsWith("\"")) {
|
||||
// Original had quote, keep quote in replacement
|
||||
replacement = "\"" + localUrl.replace("\\", "/");
|
||||
} else if (urlStr.startsWith("./")) {
|
||||
// Original had ./ prefix, keep it
|
||||
replacement = localUrl.replace("\\", "/");
|
||||
} else {
|
||||
// No prefix, use local path directly
|
||||
replacement = localUrl.replace("\\", "/");
|
||||
}
|
||||
System.out.println("[ProblemURL] Replacement string: " + replacement);
|
||||
matcher.appendReplacement(result, replacement);
|
||||
}
|
||||
|
||||
matcher.appendTail(result);
|
||||
this.code = result.toString();
|
||||
|
||||
// System.out.println(result);
|
||||
System.out.println("[ProblemURL] Total matches for type " + type + ": " + matchCount);
|
||||
System.out.println("[ProblemURL] URLs to download: " + typeUrls.size());
|
||||
for (int i = 0; i < typeUrls.size(); i++) {
|
||||
System.out.println("[ProblemURL] [" + (i+1) + "] Remote: " + typeUrls.get(i));
|
||||
System.out.println("[ProblemURL] [" + (i+1) + "] Local: " + typePaths.get(i));
|
||||
}
|
||||
|
||||
// Download resources of this type
|
||||
if (!typeUrls.isEmpty()) {
|
||||
System.out.println("[ProblemURL] Starting download for " + typeUrls.size() + " " + type + " file(s)...");
|
||||
new DownloadFile(typeUrls, typePaths);
|
||||
System.out.println("[ProblemURL] Download completed for type " + type);
|
||||
} else {
|
||||
System.out.println("[ProblemURL] No " + type + " files to download");
|
||||
}
|
||||
|
||||
new CreateProblemHtml(code);
|
||||
}
|
||||
private void runToGetUrl_l() throws Exception{
|
||||
url_net = new ArrayList<String>();
|
||||
url_local = new ArrayList<String>();
|
||||
String strContent = code;
|
||||
|
||||
String regex = "/oj/ueditor/[^[A-Za-z0-9\\._\\?%&+\\-=/#]]*";
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(strContent);
|
||||
StringBuffer result = new StringBuffer();
|
||||
while (matcher.find()) {
|
||||
String urlStr=matcher.group();
|
||||
StringBuffer replace = new StringBuffer(urlStr);
|
||||
StringBuffer net = new StringBuffer();
|
||||
net.append("http://").append(url).append(urlStr);
|
||||
replace.delete(0, 11);
|
||||
replace.insert(0,in);
|
||||
url_net.add(net.toString());
|
||||
url_local.add(replace.toString());
|
||||
//replace.delete(0, 6);
|
||||
//System.out.println(net.toString());
|
||||
//System.out.println(replace.toString());
|
||||
matcher.appendReplacement(result, replace.toString());
|
||||
}
|
||||
matcher.appendTail(result);
|
||||
DownloadFile df = new DownloadFile(url_net, url_local);
|
||||
this.code = result.toString();
|
||||
// CreateProblemHtml cph = new CreateProblemHtml(code);
|
||||
//ÌâÄ¿µÄxml
|
||||
// System.out.println(result);
|
||||
}
|
||||
public String getCode(){
|
||||
|
||||
public String getCode() {
|
||||
return this.code;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import edu.dhu.ws.OJWS;
|
|||
import client.view.frame.LoginFrame;
|
||||
import com.alibaba.dubbo.config.ApplicationConfig;
|
||||
import com.alibaba.dubbo.config.ReferenceConfig;
|
||||
import common.LogLevel;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
|
@ -62,10 +63,7 @@ public class Webservice implements java.rmi.Remote{
|
|||
}
|
||||
|
||||
try {
|
||||
if(!existDubbo){
|
||||
logger.log("connect to dubbo,url:"+url, common.LogLevel.INFO);
|
||||
dubboPort = initDubboPort(url);
|
||||
}
|
||||
dubboPort = initDubboPort(url);
|
||||
} catch(Exception e) {
|
||||
logger.log("faild to get dubbo"+e.getMessage(), common.LogLevel.ERROR);
|
||||
e.printStackTrace();
|
||||
|
|
@ -109,7 +107,10 @@ public class Webservice implements java.rmi.Remote{
|
|||
return re;
|
||||
}
|
||||
public String getExamList(String username,String password){
|
||||
|
||||
String re = servicePort.wsGetExamList(username, password);
|
||||
// System.out.println("获取考试列表:用户名:"+username+"密码:"+password+"服务器消息:"+re);
|
||||
// logger.log("获取考试列表:用户名:"+username+"密码:"+password+"服务器消息:"+re, LogLevel.INFO);
|
||||
return re;
|
||||
}
|
||||
public String getExamProblems(String username,String password,int examid){
|
||||
|
|
@ -144,6 +145,7 @@ public class Webservice implements java.rmi.Remote{
|
|||
// by san_san
|
||||
public Long getExamDeadline(String username, String password, int examid){
|
||||
Long re = servicePort.wsGetExamDeadline(username, password, examid);
|
||||
System.out.println("考试结束时间获取:"+re+"用户名:"+username+"密码:"+password+"考试id:"+examid);
|
||||
return re;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public class Config {
|
|||
public static final Properties prop= new Properties();
|
||||
static{
|
||||
try {
|
||||
InputStream in = new FileInputStream(common.FileFinder.findFile("client/config/config.properties"));
|
||||
InputStream in = new FileInputStream(common.FileFinder.findFile("config/config.properties"));
|
||||
|
||||
prop.load(in);
|
||||
in.close();
|
||||
|
|
|
|||
|
|
@ -15,9 +15,11 @@ import client.view.panel.AnswerTablePanel;
|
|||
import client.view.panel.CodePanel;
|
||||
import client.service.web.Webservice;
|
||||
import client.view.panel.TimePanel;
|
||||
import java.net.URL;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import java.util.List;
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JProgressBar;
|
||||
|
||||
|
|
@ -31,6 +33,7 @@ public class Control {
|
|||
private static String publicKey;
|
||||
private static String path;
|
||||
private static Webservice ws;
|
||||
|
||||
private static List<StudentExamDetail> oldsedlist;
|
||||
private static boolean prompt;
|
||||
private static JProgressBar jpb;
|
||||
|
|
@ -38,7 +41,17 @@ public class Control {
|
|||
private static List<String> languages;
|
||||
private static String examId;
|
||||
private static Exam exam;
|
||||
private static String ip;
|
||||
|
||||
|
||||
public static String getIp() {
|
||||
return ip;
|
||||
}
|
||||
|
||||
public static void setIp(String ip) {
|
||||
Control.ip = ip;
|
||||
}
|
||||
|
||||
public static TimePanel getTP_time() {
|
||||
return TP_time;
|
||||
}
|
||||
|
|
@ -325,9 +338,35 @@ public class Control {
|
|||
public static void setUser(User aUser) {
|
||||
user = aUser;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return the jpb
|
||||
* @return http or https
|
||||
*/
|
||||
public static String determineProtocol() {
|
||||
String ip = Control.getIp();
|
||||
|
||||
// Ïȳ¢ÊÔ HTTPS
|
||||
if (isHttpsSupported(ip)) {
|
||||
return "https";
|
||||
}
|
||||
|
||||
// »ØÍ˵½ HTTP
|
||||
return "http";
|
||||
}
|
||||
|
||||
private static boolean isHttpsSupported(String ip) {
|
||||
try {
|
||||
URL url = new URL("https://" + ip);
|
||||
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("HEAD");
|
||||
connection.setConnectTimeout(3000);
|
||||
connection.setReadTimeout(3000);
|
||||
|
||||
int responseCode = connection.getResponseCode();
|
||||
return responseCode >= 200 && responseCode < 400;
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public class check {
|
|||
|
||||
Similarity s;
|
||||
List<submittedCode> submittedcodeList = new Parsexml().getCode(route);
|
||||
if (submittedcodeList.get(0).getId().equals("-1")) {
|
||||
if (!submittedcodeList.isEmpty() &&submittedcodeList.get(0).getId().equals("-1")) {
|
||||
s = new Similarity("error", "", "");
|
||||
}
|
||||
for (int i = 0; i < submittedcodeList.size(); i++) {
|
||||
|
|
|
|||
|
|
@ -205,13 +205,15 @@ public class ExamFrame extends javax.swing.JFrame {
|
|||
this.JP_contest.add(this.JLabel5);
|
||||
this.JP_contest.add(this.JLabel6);
|
||||
this.JP_temp = new JPanel();
|
||||
this.JP_temp.setLayout(new FlowLayout(FlowLayout.CENTER));
|
||||
this.JP_temp.setLayout(new BoxLayout(this.JP_temp, BoxLayout.Y_AXIS));
|
||||
|
||||
this.JB_contest.setText("²Î¼Ó");
|
||||
//final int i=j;
|
||||
//this.JB_contest.setActionCommand(examlist.get(i).getId());
|
||||
this.JB_contest.addActionListener(onclicklister);
|
||||
this.JP_temp.add(Box.createVerticalGlue());
|
||||
this.JP_temp.add(this.JB_contest);
|
||||
this.JP_temp.add(Box.createVerticalGlue());
|
||||
this.JP_contest.add(this.JP_temp);
|
||||
s.gridx = 0;
|
||||
s.gridy = i + 1;
|
||||
|
|
@ -240,6 +242,8 @@ public class ExamFrame extends javax.swing.JFrame {
|
|||
s.gridx = 6;
|
||||
s.gridy = i + 1;
|
||||
s.insets = new Insets(1, 1, 1, 0);
|
||||
s.fill = GridBagConstraints.VERTICAL;
|
||||
s.anchor = GridBagConstraints.CENTER;
|
||||
layout.setConstraints(this.JP_temp, s);
|
||||
} else {
|
||||
this.JLabel1 = new JLabel(" ");
|
||||
|
|
|
|||
|
|
@ -357,6 +357,7 @@ public class LoginFrame extends JFrame {
|
|||
private void setUser() {
|
||||
User_io io = new User_io();
|
||||
user = io.getUser(message);
|
||||
user.setPassword(password);//更新之后服务器返回的password是SHA256密文,因此需要手动设置为明文,以便客户端发起ws请求操作。
|
||||
}
|
||||
|
||||
public static void main(String args[]) {
|
||||
|
|
@ -380,6 +381,7 @@ public class LoginFrame extends JFrame {
|
|||
System.err.println("更新错误啦!");
|
||||
}
|
||||
try {
|
||||
Control.setIp(ip);
|
||||
URL url = new URL("http://" + ip + ":" + port + "/oj/webservice/OJWS?wsdl");
|
||||
QName qname = new QName("http://ws.dhu.edu/", "OJWS");
|
||||
logger.log("尝试建立Web服务", LogLevel.INFO);
|
||||
|
|
|
|||
|
|
@ -259,7 +259,7 @@ public class MainFrame extends JFrame implements ColorChange {
|
|||
new DoBackground().compareUpdateTime();
|
||||
|
||||
setProblemlist(true);
|
||||
setRank();
|
||||
setRank(Control.getIp());
|
||||
} catch (Exception ex) {
|
||||
System.err.println(ex.getMessage());
|
||||
Log.writeExceptionLog(ex.getMessage());
|
||||
|
|
@ -371,7 +371,7 @@ public class MainFrame extends JFrame implements ColorChange {
|
|||
this.JPT_Rank = new RankPanel();
|
||||
TP_Main.addTab("成绩排名", JPT_Rank); //TODO 成绩排名页暂时隐藏
|
||||
// this.JPT_Rank.showHTML("./rank.html");
|
||||
setRank();
|
||||
setRank(Control.getIp());
|
||||
}
|
||||
this.TP_Main.addChangeListener(new ChangeListener() {
|
||||
@Override
|
||||
|
|
@ -390,36 +390,38 @@ public class MainFrame extends JFrame implements ColorChange {
|
|||
setBounds((screenSize.width - 850) / 2, (screenSize.height - 650) / 2, 850, 650);
|
||||
}
|
||||
|
||||
private void setRank() {
|
||||
private void setRank(String baseUrl) {
|
||||
int problemNum = this.problemlist.size();
|
||||
|
||||
if(baseUrl.isEmpty())
|
||||
baseUrl="www.52ac.tech";
|
||||
//System.out.println("Rank BaseUrl"+baseUrl);
|
||||
String examId = this.examId;
|
||||
String trainingViewScore = exam.getStudentViewScore();
|
||||
String rankUrl = "";
|
||||
|
||||
String protocol=Control.determineProtocol();
|
||||
switch (trainingViewScore){
|
||||
case "System":
|
||||
if (problemNum <= 10) {
|
||||
rankUrl = "http://www.52ac.tech/#/client/contest/" + examId + "/score-rank-status";
|
||||
rankUrl = protocol+"://"+baseUrl+"/#/client/contest/" + examId + "/score-rank-status";
|
||||
} else {
|
||||
rankUrl = "http://www.52ac.tech/#/client/contest/" + examId + "/score-top10";
|
||||
rankUrl = protocol+"://"+baseUrl+"/#/client/contest/" + examId + "/score-top10";
|
||||
}
|
||||
JPT_Rank.changeHTML(rankUrl);
|
||||
break;
|
||||
case "RankAndStatus":
|
||||
rankUrl = "http://www.52ac.tech/#/client/contest/" + examId + "/score-rank-status";
|
||||
rankUrl = protocol+"://"+baseUrl+"/#/client/contest/" + examId + "/score-rank-status";
|
||||
JPT_Rank.changeHTML(rankUrl);
|
||||
break;
|
||||
case "OnlyRank":
|
||||
rankUrl = "http://www.52ac.tech/#/client/contest/" + examId + "/score-only-rank";
|
||||
rankUrl = protocol+"://"+baseUrl+"/#/client/contest/" + examId + "/score-only-rank";
|
||||
JPT_Rank.changeHTML(rankUrl);
|
||||
break;
|
||||
case "Top10":
|
||||
rankUrl = "http://www.52ac.tech/#/client/contest/" + examId + "/score-top10";
|
||||
rankUrl = protocol+"://"+baseUrl+"/#/client/contest/" + examId + "/score-top10";
|
||||
JPT_Rank.changeHTML(rankUrl);
|
||||
break;
|
||||
case "iTraining":
|
||||
rankUrl = "http://www.52ac.tech/#/client/contest/" + examId + "/score-train-rank";
|
||||
rankUrl = protocol+"://"+baseUrl+"/#/client/contest/" + examId + "/score-train-rank";
|
||||
JPT_Rank.changeHTML(rankUrl);
|
||||
break;
|
||||
case "NoScorePage":
|
||||
|
|
@ -427,6 +429,7 @@ public class MainFrame extends JFrame implements ColorChange {
|
|||
break;
|
||||
default:
|
||||
}
|
||||
System.out.println("Rank RankUrl"+rankUrl);
|
||||
}
|
||||
|
||||
private void JB_ReturnActionPerformed(ActionEvent evt) {
|
||||
|
|
|
|||
|
|
@ -56,6 +56,8 @@ import client.io.xml.SolutionCode;
|
|||
import client.io.xml.StudentExamDetail_io;
|
||||
import client.io.xml.SubmitProblem;
|
||||
import client.io.xml.WrongCase;
|
||||
import common.LogLevel;
|
||||
import common.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -84,6 +86,7 @@ public class AnswerTablePanel extends JPanel {
|
|||
JPanel wrong;
|
||||
JPanel detail;
|
||||
JPanel wrongTestCase;
|
||||
Logger logger;
|
||||
Answer answer;
|
||||
ActionListener wrongDetail;
|
||||
ActionListener submitPro;
|
||||
|
|
@ -131,6 +134,7 @@ public class AnswerTablePanel extends JPanel {
|
|||
this.submit.setPreferredSize(new Dimension(70, 30));
|
||||
wrongDetail = new Wrongdetail();
|
||||
this.submitPro = new SubmitPro();
|
||||
this.logger=Logger.getInstance();
|
||||
this.Refresh = new Refresh();
|
||||
runInfo.setText("运行状态:");
|
||||
subTime.setText("提交次数:");
|
||||
|
|
@ -675,6 +679,7 @@ public class AnswerTablePanel extends JPanel {
|
|||
JOptionPane.WARNING_MESSAGE
|
||||
);
|
||||
return;
|
||||
|
||||
}
|
||||
SolutionCode sc = new SolutionCode();
|
||||
sc.init();
|
||||
|
|
@ -693,7 +698,7 @@ public class AnswerTablePanel extends JPanel {
|
|||
this.simi = new Similarity("-1", "", "");
|
||||
sc.setSimi("./xml/"+Control.getPath()+"/"+Control.getExamId()+"-"+proId+".xml", "-1");
|
||||
}
|
||||
|
||||
logger.log("[提交代码]进行setSimilarity成功", LogLevel.INFO);
|
||||
SubmitProblem sub = new SubmitProblem();
|
||||
if (sc.isCopied("./xml/"+Control.getPath()+"/"+Control.getExamId()+"-"+proId+".xml").equals("true")) {
|
||||
String message = "此代码涉嫌抄袭,是否提交?";
|
||||
|
|
@ -727,8 +732,10 @@ public class AnswerTablePanel extends JPanel {
|
|||
try {
|
||||
toWrite = Control.getWebsService().submitThisProblem(username, passwd, problemXml);
|
||||
System.out.println("submitThisProblem:\n" + toWrite);
|
||||
logger.log("[提交代码]submitThisProblem成功,已获得toWrite内容", LogLevel.INFO);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.log("[提交代码]submitThisProblem失败:"+e.getMessage(), LogLevel.ERROR);
|
||||
}
|
||||
String backFile = "./xml/" + Control.getPath() + "/afterSubmitProblem.xml";
|
||||
File tmpFile = new File(backFile);
|
||||
|
|
@ -736,10 +743,13 @@ public class AnswerTablePanel extends JPanel {
|
|||
tmpFile.delete();
|
||||
}
|
||||
TextToFile(backFile, toWrite);
|
||||
|
||||
SubmitProblem sb = new SubmitProblem();
|
||||
sb.init();
|
||||
String msg = sb.isSubmitted(backFile);
|
||||
|
||||
if (msg.equals("true")) {
|
||||
logger.log("[提交代码]成功:", LogLevel.INFO);
|
||||
if (flag) {
|
||||
String message = "成功提交本题";
|
||||
JOptionPane.showConfirmDialog(AnswerTablePanel.this,
|
||||
|
|
@ -756,8 +766,10 @@ public class AnswerTablePanel extends JPanel {
|
|||
}
|
||||
|
||||
} else if (msg.equals("不能重复提交")) {
|
||||
logger.log("[提交代码]失败:"+msg, LogLevel.WARNING);
|
||||
JOptionPane.showConfirmDialog(AnswerTablePanel.this, "请注意:\n您已经提交过本题,不可再提交。", "注意", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
|
||||
} else {
|
||||
logger.log("[提交代码]失败:"+msg, LogLevel.WARNING);
|
||||
String message = msg;
|
||||
JOptionPane.showConfirmDialog(AnswerTablePanel.this,
|
||||
message, "提示",
|
||||
|
|
@ -797,8 +809,10 @@ public class AnswerTablePanel extends JPanel {
|
|||
try {
|
||||
toWrite = Control.getWebsService().getExamProblemStatus(username, passwd, Integer.parseInt(Control.getExamId()), Integer.parseInt(proId));
|
||||
System.out.println("getExamProblemStatus:\n" + toWrite);
|
||||
logger.log("[刷新结果]getExamProblemStatus:"+toWrite, LogLevel.INFO);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.log("[刷新结果]失败:"+e.getMessage(), LogLevel.ERROR);
|
||||
}
|
||||
String backFile = "./xml/" + Control.getPath() + "/afterRefresh.xml";
|
||||
File tmpFile = new File(backFile);
|
||||
|
|
|
|||
|
|
@ -68,6 +68,8 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
private JComboBox JCB_Language;
|
||||
private JComboBox JCB_Coding;
|
||||
private JComboBox JCB_Compiler;
|
||||
private JComboBox JCB_PythonCompiler;
|
||||
private JComboBox JCB_JavaCompiler;
|
||||
private JEditorPane JEP_Tmep;
|
||||
|
||||
private JPanel Top_code;
|
||||
|
|
@ -238,7 +240,21 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
this.JCB_Compiler.setSelectedItem(savedCompiler);
|
||||
} else {
|
||||
this.JCB_Compiler.setSelectedItem("MinGW");
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化Python编译器下拉框
|
||||
String[] pythonOptions = {"Python3.12"};
|
||||
this.JCB_PythonCompiler = new JComboBox<>(pythonOptions);
|
||||
this.JCB_PythonCompiler.setSelectedItem("Python3.12");
|
||||
this.JCB_PythonCompiler.setMaximumSize(new Dimension(100,100));
|
||||
this.JCB_PythonCompiler.setPreferredSize(new Dimension(100, jToolBar.getHeight()));
|
||||
|
||||
// 初始化Java编译器下拉框
|
||||
String[] javaOptions = {"JDK8"};
|
||||
this.JCB_JavaCompiler = new JComboBox<>(javaOptions);
|
||||
this.JCB_JavaCompiler.setSelectedItem("JDK8");
|
||||
this.JCB_JavaCompiler.setMaximumSize(new Dimension(100,100));
|
||||
this.JCB_JavaCompiler.setPreferredSize(new Dimension(100, jToolBar.getHeight()));
|
||||
|
||||
//代码文本区域
|
||||
this.JEP_Code = new RSyntaxTextArea(20, 60);
|
||||
|
|
@ -436,7 +452,7 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
this.JB_Submit.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
actionPerformed_submitCode(e, false);
|
||||
actionPerformed_submitCode(e);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -542,27 +558,38 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
if ("Java".equals(lan)) {
|
||||
language = "Java";
|
||||
JEP_Code.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
|
||||
|
||||
removeAllCompilers();
|
||||
if (jToolBar.getComponentIndex(JCB_JavaCompiler) == -1) {
|
||||
jToolBar.add(JCB_JavaCompiler, jToolBar.getComponentIndex(JB_Submit));
|
||||
jToolBar.add(compilerLabel, jToolBar.getComponentIndex(JCB_JavaCompiler));
|
||||
}
|
||||
} else if ("C".equals(lan)) {
|
||||
language = "C";
|
||||
JEP_Code.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_C);
|
||||
} else if ("C++".equals(lan)) {
|
||||
language = "C++";
|
||||
JEP_Code.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_CPLUSPLUS);
|
||||
} else if ("Python".equals(lan)){
|
||||
language = "python";
|
||||
JEP_Code.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PYTHON);
|
||||
}
|
||||
|
||||
// 根据选择的语言决定是否显示编译器下拉框
|
||||
if ("C".equals(lan) || "C++".equals(lan) || "c++".equals(lan) || "c".equals(lan)) {
|
||||
removeAllCompilers();
|
||||
if (jToolBar.getComponentIndex(JCB_Compiler) == -1) {
|
||||
jToolBar.add(JCB_Compiler, jToolBar.getComponentIndex(JB_Submit));
|
||||
jToolBar.add(compilerLabel, jToolBar.getComponentIndex(JCB_Compiler));
|
||||
}
|
||||
} else {
|
||||
if (jToolBar.getComponentIndex(JCB_Compiler) != -1) {
|
||||
jToolBar.remove(JCB_Compiler);
|
||||
jToolBar.remove(compilerLabel);
|
||||
} else if ("C++".equals(lan)) {
|
||||
language = "C++";
|
||||
JEP_Code.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_CPLUSPLUS);
|
||||
|
||||
removeAllCompilers();
|
||||
if (jToolBar.getComponentIndex(JCB_Compiler) == -1) {
|
||||
jToolBar.add(JCB_Compiler, jToolBar.getComponentIndex(JB_Submit));
|
||||
jToolBar.add(compilerLabel, jToolBar.getComponentIndex(JCB_Compiler));
|
||||
}
|
||||
} else if ("Python".equals(lan)){
|
||||
language = "python";
|
||||
JEP_Code.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PYTHON);
|
||||
|
||||
removeAllCompilers();
|
||||
if (jToolBar.getComponentIndex(JCB_PythonCompiler) == -1) {
|
||||
jToolBar.add(JCB_PythonCompiler, jToolBar.getComponentIndex(JB_Submit));
|
||||
jToolBar.add(compilerLabel, jToolBar.getComponentIndex(JCB_PythonCompiler));
|
||||
}
|
||||
}
|
||||
// 保存语言选择
|
||||
|
|
@ -571,6 +598,26 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
jToolBar.revalidate(); // 更新工具栏
|
||||
jToolBar.repaint(); // 重绘工具栏
|
||||
}
|
||||
|
||||
private void removeAllCompilers() {
|
||||
// 移除C/C++编译器下拉框
|
||||
if (jToolBar.getComponentIndex(JCB_Compiler) != -1) {
|
||||
jToolBar.remove(JCB_Compiler);
|
||||
jToolBar.remove(compilerLabel);
|
||||
}
|
||||
|
||||
// 移除Python编译器下拉框
|
||||
if (jToolBar.getComponentIndex(JCB_PythonCompiler) != -1) {
|
||||
jToolBar.remove(JCB_PythonCompiler);
|
||||
jToolBar.remove(compilerLabel);
|
||||
}
|
||||
|
||||
// 移除Java编译器下拉框
|
||||
if (jToolBar.getComponentIndex(JCB_JavaCompiler) != -1) {
|
||||
jToolBar.remove(JCB_JavaCompiler);
|
||||
jToolBar.remove(compilerLabel);
|
||||
}
|
||||
}
|
||||
|
||||
// 设置时间 by san_san
|
||||
public void setLefttime(Long lefttime){
|
||||
|
|
@ -621,8 +668,24 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
Float time_limit = Float.parseFloat(Control.getMainFrame().getInformation(String.valueOf(submitProblemId)).getTime_limit());
|
||||
|
||||
//////////todo:自主选择编译器
|
||||
String compiler="";
|
||||
|
||||
//String compiler="";
|
||||
System.out.println("调试CodePanel:"+language+";\n"+compiler+";\n"+codeString);
|
||||
|
||||
|
||||
|
||||
String selectedCompiler = "";
|
||||
if ("C++".equals(language) || "C".equals(language)) {
|
||||
selectedCompiler = (String) JCB_Compiler.getSelectedItem();
|
||||
} else if ("python".equals(language)) {
|
||||
selectedCompiler = (String) JCB_PythonCompiler.getSelectedItem();
|
||||
} else if ("Java".equals(language)) {
|
||||
selectedCompiler = (String) JCB_JavaCompiler.getSelectedItem();
|
||||
}
|
||||
this.compiler = selectedCompiler;
|
||||
|
||||
|
||||
System.out.println("language" + language);
|
||||
System.out.println("compiler" + compiler);
|
||||
Answer answer = new Process().Judge(language,compiler, codeString, time_limit+2, testCaseBeans); //loss of timelimit
|
||||
if (answer.getStatus().equals("NF")) {
|
||||
JOptionPane.showMessageDialog(CodePanel.this,
|
||||
|
|
@ -726,7 +789,7 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
Control.getJpb_message().setText("");
|
||||
}
|
||||
|
||||
private void actionPerformed_submitCode(ActionEvent e, boolean testSampleAC) {
|
||||
private void actionPerformed_submitCode(ActionEvent e) {
|
||||
// by san_san
|
||||
if (this.lefttime <= 0){
|
||||
JOptionPane.showMessageDialog(CodePanel.this,
|
||||
|
|
@ -735,7 +798,7 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!testSampleAC && !checkConditions()) {
|
||||
if (!checkForCompile()) {
|
||||
return;
|
||||
}
|
||||
//checkForCompile();
|
||||
|
|
@ -884,7 +947,7 @@ public class CodePanel extends JPanel implements ActionListener {
|
|||
);
|
||||
|
||||
if (option == JOptionPane.YES_OPTION) {
|
||||
actionPerformed_submitCode(null, true);
|
||||
actionPerformed_submitCode(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue