初始化提交代码
This commit is contained in:
parent
d8ccb5de5f
commit
6f3cee1658
|
@ -0,0 +1,11 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
trim_trailing_whitespace = true
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
|
@ -0,0 +1,3 @@
|
|||
# 默认忽略的文件
|
||||
/shelf/
|
||||
/workspace.xml
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="dahua_video" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,414 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DBNavigator.Project.DataEditorManager">
|
||||
<record-view-column-sorting-type value="BY_INDEX" />
|
||||
<value-preview-text-wrapping value="true" />
|
||||
<value-preview-pinned value="false" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||
<open-files />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.EditorStateManager">
|
||||
<last-used-providers />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.Settings">
|
||||
<connections />
|
||||
<browser-settings>
|
||||
<general>
|
||||
<display-mode value="TABBED" />
|
||||
<navigation-history-size value="100" />
|
||||
<show-object-details value="false" />
|
||||
</general>
|
||||
<filters>
|
||||
<object-type-filter>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="true" />
|
||||
<object-type name="ROLE" enabled="true" />
|
||||
<object-type name="PRIVILEGE" enabled="true" />
|
||||
<object-type name="CHARSET" enabled="true" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||
<object-type name="NESTED_TABLE" enabled="true" />
|
||||
<object-type name="COLUMN" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="true" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||
<object-type name="ARGUMENT" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="true" />
|
||||
<object-type name="CLUSTER" enabled="true" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</object-type-filter>
|
||||
</filters>
|
||||
<sorting>
|
||||
<object-type name="COLUMN" sorting-type="NAME" />
|
||||
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||
<object-type name="TYPE ATTRIBUTE" sorting-type="POSITION" />
|
||||
</sorting>
|
||||
<default-editors>
|
||||
<object-type name="VIEW" editor-type="SELECTION" />
|
||||
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||
<object-type name="TYPE" editor-type="SELECTION" />
|
||||
</default-editors>
|
||||
</browser-settings>
|
||||
<navigation-settings>
|
||||
<lookup-filters>
|
||||
<lookup-objects>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="false" />
|
||||
<object-type name="ROLE" enabled="false" />
|
||||
<object-type name="PRIVILEGE" enabled="false" />
|
||||
<object-type name="CHARSET" enabled="false" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="false" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="false" />
|
||||
<object-type name="CLUSTER" enabled="false" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</lookup-objects>
|
||||
<force-database-load value="false" />
|
||||
<prompt-connection-selection value="true" />
|
||||
<prompt-schema-selection value="true" />
|
||||
</lookup-filters>
|
||||
</navigation-settings>
|
||||
<dataset-grid-settings>
|
||||
<general>
|
||||
<enable-zooming value="true" />
|
||||
<enable-column-tooltip value="true" />
|
||||
</general>
|
||||
<sorting>
|
||||
<nulls-first value="true" />
|
||||
<max-sorting-columns value="4" />
|
||||
</sorting>
|
||||
<audit-columns>
|
||||
<column-names value="" />
|
||||
<visible value="true" />
|
||||
<editable value="false" />
|
||||
</audit-columns>
|
||||
</dataset-grid-settings>
|
||||
<dataset-editor-settings>
|
||||
<text-editor-popup>
|
||||
<active value="false" />
|
||||
<active-if-empty value="false" />
|
||||
<data-length-threshold value="100" />
|
||||
<popup-delay value="1000" />
|
||||
</text-editor-popup>
|
||||
<values-actions-popup>
|
||||
<show-popup-button value="true" />
|
||||
<element-count-threshold value="1000" />
|
||||
<data-length-threshold value="250" />
|
||||
</values-actions-popup>
|
||||
<general>
|
||||
<fetch-block-size value="100" />
|
||||
<fetch-timeout value="30" />
|
||||
<trim-whitespaces value="true" />
|
||||
<convert-empty-strings-to-null value="true" />
|
||||
<select-content-on-cell-edit value="true" />
|
||||
<large-value-preview-active value="true" />
|
||||
</general>
|
||||
<filters>
|
||||
<prompt-filter-dialog value="true" />
|
||||
<default-filter-type value="BASIC" />
|
||||
</filters>
|
||||
<qualified-text-editor text-length-threshold="300">
|
||||
<content-types>
|
||||
<content-type name="Text" enabled="true" />
|
||||
<content-type name="Properties" enabled="true" />
|
||||
<content-type name="XML" enabled="true" />
|
||||
<content-type name="DTD" enabled="true" />
|
||||
<content-type name="HTML" enabled="true" />
|
||||
<content-type name="XHTML" enabled="true" />
|
||||
<content-type name="Java" enabled="true" />
|
||||
<content-type name="SQL" enabled="true" />
|
||||
<content-type name="PL/SQL" enabled="true" />
|
||||
<content-type name="JSON" enabled="true" />
|
||||
<content-type name="JSON5" enabled="true" />
|
||||
<content-type name="Groovy" enabled="true" />
|
||||
<content-type name="AIDL" enabled="true" />
|
||||
<content-type name="YAML" enabled="true" />
|
||||
<content-type name="Manifest" enabled="true" />
|
||||
</content-types>
|
||||
</qualified-text-editor>
|
||||
<record-navigation>
|
||||
<navigation-target value="VIEWER" />
|
||||
</record-navigation>
|
||||
</dataset-editor-settings>
|
||||
<code-editor-settings>
|
||||
<general>
|
||||
<show-object-navigation-gutter value="false" />
|
||||
<show-spec-declaration-navigation-gutter value="true" />
|
||||
<enable-spellchecking value="true" />
|
||||
<enable-reference-spellchecking value="false" />
|
||||
</general>
|
||||
<confirmations>
|
||||
<save-changes value="false" />
|
||||
<revert-changes value="true" />
|
||||
</confirmations>
|
||||
</code-editor-settings>
|
||||
<code-completion-settings>
|
||||
<filters>
|
||||
<basic-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="false" />
|
||||
<filter-element type="OBJECT" id="view" selected="false" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||
<filter-element type="OBJECT" id="index" selected="false" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||
<filter-element type="OBJECT" id="function" selected="false" />
|
||||
<filter-element type="OBJECT" id="package" selected="false" />
|
||||
<filter-element type="OBJECT" id="type" selected="false" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</basic-filter>
|
||||
<extended-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</extended-filter>
|
||||
</filters>
|
||||
<sorting enabled="true">
|
||||
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||
<sorting-element type="OBJECT" id="column" />
|
||||
<sorting-element type="OBJECT" id="table" />
|
||||
<sorting-element type="OBJECT" id="view" />
|
||||
<sorting-element type="OBJECT" id="materialized view" />
|
||||
<sorting-element type="OBJECT" id="index" />
|
||||
<sorting-element type="OBJECT" id="constraint" />
|
||||
<sorting-element type="OBJECT" id="trigger" />
|
||||
<sorting-element type="OBJECT" id="synonym" />
|
||||
<sorting-element type="OBJECT" id="sequence" />
|
||||
<sorting-element type="OBJECT" id="procedure" />
|
||||
<sorting-element type="OBJECT" id="function" />
|
||||
<sorting-element type="OBJECT" id="package" />
|
||||
<sorting-element type="OBJECT" id="type" />
|
||||
<sorting-element type="OBJECT" id="dimension" />
|
||||
<sorting-element type="OBJECT" id="cluster" />
|
||||
<sorting-element type="OBJECT" id="dblink" />
|
||||
<sorting-element type="OBJECT" id="schema" />
|
||||
<sorting-element type="OBJECT" id="role" />
|
||||
<sorting-element type="OBJECT" id="user" />
|
||||
<sorting-element type="RESERVED_WORD" id="function" />
|
||||
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||
</sorting>
|
||||
<format>
|
||||
<enforce-code-style-case value="true" />
|
||||
</format>
|
||||
</code-completion-settings>
|
||||
<execution-engine-settings>
|
||||
<statement-execution>
|
||||
<fetch-block-size value="100" />
|
||||
<execution-timeout value="20" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<focus-result value="false" />
|
||||
<prompt-execution value="false" />
|
||||
</statement-execution>
|
||||
<script-execution>
|
||||
<command-line-interfaces />
|
||||
<execution-timeout value="300" />
|
||||
</script-execution>
|
||||
<method-execution>
|
||||
<execution-timeout value="30" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<parameter-history-size value="10" />
|
||||
</method-execution>
|
||||
</execution-engine-settings>
|
||||
<operation-settings>
|
||||
<transactions>
|
||||
<uncommitted-changes>
|
||||
<on-project-close value="ASK" />
|
||||
<on-disconnect value="ASK" />
|
||||
<on-autocommit-toggle value="ASK" />
|
||||
</uncommitted-changes>
|
||||
<multiple-uncommitted-changes>
|
||||
<on-commit value="ASK" />
|
||||
<on-rollback value="ASK" />
|
||||
</multiple-uncommitted-changes>
|
||||
</transactions>
|
||||
<session-browser>
|
||||
<disconnect-session value="ASK" />
|
||||
<kill-session value="ASK" />
|
||||
<reload-on-filter-change value="false" />
|
||||
</session-browser>
|
||||
<compiler>
|
||||
<compile-type value="KEEP" />
|
||||
<compile-dependencies value="ASK" />
|
||||
<always-show-controls value="false" />
|
||||
</compiler>
|
||||
<debugger>
|
||||
<debugger-type value="ASK" />
|
||||
<use-generic-runners value="true" />
|
||||
</debugger>
|
||||
</operation-settings>
|
||||
<ddl-file-settings>
|
||||
<extensions>
|
||||
<mapping file-type-id="VIEW" extensions="vw" />
|
||||
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||
</extensions>
|
||||
<general>
|
||||
<lookup-ddl-files value="true" />
|
||||
<create-ddl-files value="false" />
|
||||
<synchronize-ddl-files value="true" />
|
||||
<use-qualified-names value="false" />
|
||||
<make-scripts-rerunnable value="true" />
|
||||
</general>
|
||||
</ddl-file-settings>
|
||||
<general-settings>
|
||||
<regional-settings>
|
||||
<date-format value="MEDIUM" />
|
||||
<number-format value="UNGROUPED" />
|
||||
<locale value="SYSTEM_DEFAULT" />
|
||||
<use-custom-formats value="false" />
|
||||
</regional-settings>
|
||||
<environment>
|
||||
<environment-types>
|
||||
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||
</environment-types>
|
||||
<visibility-settings>
|
||||
<connection-tabs value="true" />
|
||||
<dialog-headers value="true" />
|
||||
<object-editor-tabs value="true" />
|
||||
<script-editor-tabs value="false" />
|
||||
<execution-result-tabs value="true" />
|
||||
</visibility-settings>
|
||||
</environment>
|
||||
</general-settings>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/kotlin" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,10 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||
<option name="processCode" value="true" />
|
||||
<option name="processLiterals" value="true" />
|
||||
<option name="processComments" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="http://mirrors.163.com/maven/repository/maven-public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinJpsPluginSettings">
|
||||
<option name="version" value="1.7.20" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK" />
|
||||
</project>
|
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* Copyright 2007-present the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
import java.nio.channels.*;
|
||||
import java.util.Properties;
|
||||
|
||||
public class MavenWrapperDownloader {
|
||||
|
||||
private static final String WRAPPER_VERSION = "0.5.6";
|
||||
/**
|
||||
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
|
||||
*/
|
||||
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
|
||||
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
|
||||
|
||||
/**
|
||||
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
|
||||
* use instead of the default one.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
|
||||
".mvn/wrapper/maven-wrapper.properties";
|
||||
|
||||
/**
|
||||
* Path where the maven-wrapper.jar will be saved to.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_JAR_PATH =
|
||||
".mvn/wrapper/maven-wrapper.jar";
|
||||
|
||||
/**
|
||||
* Name of the property which should be used to override the default download url for the wrapper.
|
||||
*/
|
||||
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
|
||||
|
||||
public static void main(String args[]) {
|
||||
System.out.println("- Downloader started");
|
||||
File baseDirectory = new File(args[0]);
|
||||
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
|
||||
|
||||
// If the maven-wrapper.properties exists, read it and check if it contains a custom
|
||||
// wrapperUrl parameter.
|
||||
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
|
||||
String url = DEFAULT_DOWNLOAD_URL;
|
||||
if(mavenWrapperPropertyFile.exists()) {
|
||||
FileInputStream mavenWrapperPropertyFileInputStream = null;
|
||||
try {
|
||||
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
|
||||
Properties mavenWrapperProperties = new Properties();
|
||||
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
|
||||
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
|
||||
} catch (IOException e) {
|
||||
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
|
||||
} finally {
|
||||
try {
|
||||
if(mavenWrapperPropertyFileInputStream != null) {
|
||||
mavenWrapperPropertyFileInputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// Ignore ...
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading from: " + url);
|
||||
|
||||
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
|
||||
if(!outputFile.getParentFile().exists()) {
|
||||
if(!outputFile.getParentFile().mkdirs()) {
|
||||
System.out.println(
|
||||
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
|
||||
try {
|
||||
downloadFileFromURL(url, outputFile);
|
||||
System.out.println("Done");
|
||||
System.exit(0);
|
||||
} catch (Throwable e) {
|
||||
System.out.println("- Error downloading");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
|
||||
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
|
||||
String username = System.getenv("MVNW_USERNAME");
|
||||
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
|
||||
Authenticator.setDefault(new Authenticator() {
|
||||
@Override
|
||||
protected PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(username, password);
|
||||
}
|
||||
});
|
||||
}
|
||||
URL website = new URL(urlString);
|
||||
ReadableByteChannel rbc;
|
||||
rbc = Channels.newChannel(website.openStream());
|
||||
FileOutputStream fos = new FileOutputStream(destination);
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
||||
fos.close();
|
||||
rbc.close();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
|
||||
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
|
|
@ -0,0 +1,31 @@
|
|||
= Dahua_video
|
||||
|
||||
image:https://img.shields.io/badge/vert.x-4.3.4-purple.svg[link="https://vertx.io"]
|
||||
|
||||
This application was generated using http://start.vertx.io
|
||||
|
||||
== Building
|
||||
|
||||
To launch your tests:
|
||||
```
|
||||
./mvnw clean test
|
||||
```
|
||||
|
||||
To package your application:
|
||||
```
|
||||
./mvnw clean package
|
||||
```
|
||||
|
||||
To run your application:
|
||||
```
|
||||
./mvnw clean compile exec:java
|
||||
```
|
||||
|
||||
== Help
|
||||
|
||||
* https://vertx.io/docs/[Vert.x Documentation]
|
||||
* https://stackoverflow.com/questions/tagged/vert.x?sort=newest&pageSize=15[Vert.x Stack Overflow]
|
||||
* https://groups.google.com/forum/?fromgroups#!forum/vertx[Vert.x User Group]
|
||||
* https://gitter.im/eclipse-vertx/vertx-users[Vert.x Gitter]
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"port": 8883,
|
||||
"sqlite_jdbcurl": "jdbc:sqlite:hisense_dh.db",
|
||||
"sqlite_user": "root",
|
||||
"sqlite_password": "Hisense2022",
|
||||
"host": "192.168.124.25",
|
||||
"memberList": [],
|
||||
"recroot": "/mnts/record/"
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,60 @@
|
|||
2022-11-16 13:51:00,002 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-16 14:32:04,512 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-21] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-16 14:45:26,918 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-16 18:18:08,782 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-19] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
|
@ -0,0 +1,45 @@
|
|||
2022-11-17 17:31:25,468 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-17 17:36:53,874 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-24] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-17 17:48:35,955 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
|
@ -0,0 +1,85 @@
|
|||
2022-11-18 16:16:18,193 ERROR [io.vertx.core.impl.ContextBase]-[vert.x-eventloop-thread-1] Unhandled exception
|
||||
org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLException: Query returns results
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:64) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:140) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:126) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:108) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:94) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec$default(Transaction.kt:93) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.execStatements(SchemaUtils.kt:251) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns(SchemaUtils.kt:321) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns$default(SchemaUtils.kt:306) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:160) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:157) ~[classes/:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:214) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:240) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:239) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:189) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:159) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:146) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:157) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:51) ~[classes/:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
Caused by: java.sql.SQLException: Query returns results
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:106) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:98) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcPreparedStatementImpl.executeUpdate(JdbcPreparedStatementImpl.kt:26) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction$exec$2.executeInternal(Transaction.kt:113) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:62) ~[exposed-core-0.40.1.jar:?]
|
||||
... 58 more
|
||||
2022-11-18 16:17:57,609 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
|
@ -0,0 +1,818 @@
|
|||
2022-11-16 13:50:36,325 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-16T13:50:36.324702100
|
||||
2022-11-16 13:50:36,353 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-16 13:50:37,259 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-16 13:50:37,293 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-16T13:50:37.293113
|
||||
2022-11-16 13:50:37,443 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-16 13:50:37,444 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 1ms
|
||||
2022-11-16 13:50:37,448 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 4ms
|
||||
2022-11-16 13:50:37,449 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 5ms
|
||||
2022-11-16 13:50:37,449 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-16 13:50:37,486 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-16 13:50:37,487 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-16 13:50:37,487 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 38ms
|
||||
2022-11-16 13:50:37,488 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-16T13:50:37.488557600
|
||||
2022-11-16 13:50:37,544 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-16 13:50:37,562 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-16 13:50:37,562 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-16 13:50:37,563 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-16 13:50:37,618 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-16 13:50:37,736 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-16] monitorSessionUtil 创建成功!
|
||||
2022-11-16 13:50:37,736 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-16 13:50:37,884 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:37,884 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:37,986 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-16 13:50:38,296 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] domain: 10.132.191.3 port:8314
|
||||
2022-11-16 13:50:38,741 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-16 13:50:38,741 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-16 13:50:38,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,743 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,743 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,743 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,743 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-16 13:50:38,746 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-16 13:50:38,747 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-16 13:51:00,002 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-16 14:31:37,819 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-16T14:31:37.817809800
|
||||
2022-11-16 14:31:37,845 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-16 14:31:40,038 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2455 ms, time limit is 2000 ms
|
||||
2022-11-16 14:31:41,040 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 3456 ms, time limit is 2000 ms
|
||||
2022-11-16 14:31:42,039 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 4456 ms, time limit is 2000 ms
|
||||
2022-11-16 14:31:42,269 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-16 14:31:42,318 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-16T14:31:42.318776
|
||||
2022-11-16 14:31:42,622 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 1ms
|
||||
2022-11-16 14:31:42,622 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-16 14:31:42,627 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 5ms
|
||||
2022-11-16 14:31:42,627 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 5ms
|
||||
2022-11-16 14:31:42,627 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-16 14:31:42,675 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-16 14:31:42,676 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-16 14:31:42,676 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-16 14:31:42,676 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 48ms
|
||||
2022-11-16 14:31:42,677 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-16T14:31:42.677816600
|
||||
2022-11-16 14:31:42,815 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-16 14:31:42,833 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-16 14:31:42,833 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-16 14:31:42,834 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-16 14:31:42,953 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-16 14:31:43,004 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-21] monitorSessionUtil 创建成功!
|
||||
2022-11-16 14:31:43,005 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-16 14:31:43,166 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,166 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,166 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,166 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,392 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-21] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-16 14:31:43,396 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-21] domain: 10.132.191.3 port:8314
|
||||
2022-11-16 14:31:43,454 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-16 14:31:43,454 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-16 14:31:43,454 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-16 14:31:43,454 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-16 14:31:43,456 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,456 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,456 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,456 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,456 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,457 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,457 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,457 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,458 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-16 14:31:43,459 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-16 14:31:43,460 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-16 14:31:43,460 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-16 14:31:43,460 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-16 14:31:43,460 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-16 14:32:04,512 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-21] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-16 14:45:02,640 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-16T14:45:02.639073500
|
||||
2022-11-16 14:45:02,680 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-16 14:45:03,225 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-16 14:45:03,373 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-16T14:45:03.373111100
|
||||
2022-11-16 14:45:03,774 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-16 14:45:03,774 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-16 14:45:03,785 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 11ms
|
||||
2022-11-16 14:45:03,786 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 12ms
|
||||
2022-11-16 14:45:03,786 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-16 14:45:03,831 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-16 14:45:03,832 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-16 14:45:03,832 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-16 14:45:03,832 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 46ms
|
||||
2022-11-16 14:45:03,832 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-16T14:45:03.832882
|
||||
2022-11-16 14:45:03,984 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-16 14:45:04,002 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-16 14:45:04,002 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-16 14:45:04,003 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-16 14:45:04,138 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-16 14:45:04,376 INFO [com.hisense.dahua_video.verticle.OrganizationVerticle]-[vert.x-eventloop-thread-17] devicesManagerUtil 创建成功!
|
||||
2022-11-16 14:45:04,389 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-16] monitorSessionUtil 创建成功!
|
||||
2022-11-16 14:45:04,390 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-16 14:45:04,390 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-16 14:45:04,801 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:04,801 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:04,801 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,401 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-16 14:45:05,420 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] domain: 10.132.191.3 port:8314
|
||||
2022-11-16 14:45:05,582 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-16 14:45:05,582 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-16 14:45:05,582 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-16 14:45:05,584 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,584 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,584 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,584 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,584 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,584 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,585 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,585 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,587 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,587 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-16 14:45:05,588 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-16 14:45:05,589 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-16 14:45:05,589 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-16 14:45:05,589 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-16 14:45:26,918 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-16 18:15:05,563 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-16T18:15:05.562863900
|
||||
2022-11-16 18:15:05,625 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-16 18:15:06,666 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-16 18:15:06,862 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-16T18:15:06.862389200
|
||||
2022-11-16 18:15:07,658 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2401 ms, time limit is 2000 ms
|
||||
2022-11-16 18:15:07,886 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-16 18:15:07,887 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-16 18:15:07,902 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 15ms
|
||||
2022-11-16 18:15:07,903 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 16ms
|
||||
2022-11-16 18:15:07,903 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-16 18:15:07,970 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-16 18:15:07,971 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-16 18:15:07,971 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-16 18:15:07,971 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 68ms
|
||||
2022-11-16 18:15:07,972 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-16T18:15:07.971423800
|
||||
2022-11-16 18:15:08,040 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-16 18:15:08,071 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-16 18:15:08,071 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-16 18:15:08,072 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-16 18:15:08,207 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-16 18:15:08,350 INFO [com.hisense.dahua_video.verticle.OrganizationVerticle]-[vert.x-eventloop-thread-18] devicesManagerUtil 创建成功!
|
||||
2022-11-16 18:15:08,350 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-17] monitorSessionUtil 创建成功!
|
||||
2022-11-16 18:15:08,351 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-16 18:15:08,351 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-16 18:15:08,517 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:08,517 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:08,517 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:08,517 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:08,581 INFO [com.hisense.dahua_video.dao.MonitorUserTokenDao]-[vert.x-eventloop-thread-13] [{"token":"6141653985001472_f1cf78dad5fc68ff6d416a82511964cd840983c41c81eb62e591a8a57af10794ab48f7a0dd21335eafa766444ddc919605056e632ad9c2854ac93eb416382a3a","update_time":"2022-11-16 10:20:42.291","userName":"ynszdz"}]
|
||||
2022-11-16 18:15:09,080 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-16 18:15:09,084 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] domain: 10.132.191.3 port:8314
|
||||
2022-11-16 18:15:09,289 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-16 18:15:09,289 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-16 18:15:09,289 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-16 18:15:09,289 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-16 18:15:09,291 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,291 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,291 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,291 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,291 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,292 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,292 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,292 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,294 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,294 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,295 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,295 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-16 18:15:09,295 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-16 18:15:09,295 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-16 18:15:09,295 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-16 18:15:09,295 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-16 18:15:09,296 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-16 18:17:46,627 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-16T18:17:46.626268400
|
||||
2022-11-16 18:17:46,647 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-16 18:17:46,836 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-16 18:17:46,862 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-16T18:17:46.862636300
|
||||
2022-11-16 18:17:46,969 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-16 18:17:46,969 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-16 18:17:46,974 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 4ms
|
||||
2022-11-16 18:17:46,975 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 5ms
|
||||
2022-11-16 18:17:46,975 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-16 18:17:47,013 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-16 18:17:47,014 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-16 18:17:47,014 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-16 18:17:47,014 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 39ms
|
||||
2022-11-16 18:17:47,015 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-16T18:17:47.014231400
|
||||
2022-11-16 18:17:47,073 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-16 18:17:47,091 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-16 18:17:47,091 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-16 18:17:47,091 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-16 18:17:47,196 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-16 18:17:47,343 INFO [com.hisense.dahua_video.verticle.OrganizationVerticle]-[vert.x-eventloop-thread-17] devicesManagerUtil 创建成功!
|
||||
2022-11-16 18:17:47,343 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-19] monitorSessionUtil 创建成功!
|
||||
2022-11-16 18:17:47,343 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-16 18:17:47,344 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-16 18:17:47,543 INFO [com.hisense.dahua_video.dao.MonitorUserTokenDao]-[vert.x-eventloop-thread-2] 有效token:[{"token":"6141653985001472_f1cf78dad5fc68ff6d416a82511964cd840983c41c81eb62e591a8a57af10794ab48f7a0dd21335eafa766444ddc919605056e632ad9c2854ac93eb416382a3a","update_time":"2022-11-16 10:20:42.291","userName":"ynszdz"}]
|
||||
2022-11-16 18:17:47,544 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,621 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-19] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-16 18:17:47,625 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-19] domain: 10.132.191.3 port:8314
|
||||
2022-11-16 18:17:47,739 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-16 18:17:47,741 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,741 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,741 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,741 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,741 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,742 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,743 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-16 18:17:47,744 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-16 18:17:47,745 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-16 18:18:08,782 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-19] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-16 19:41:46,615 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-16T19:41:46.614685200
|
||||
2022-11-16 19:41:46,681 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-16 19:41:48,529 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2311 ms, time limit is 2000 ms
|
||||
2022-11-16 19:41:49,530 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 3312 ms, time limit is 2000 ms
|
||||
2022-11-16 19:41:50,530 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 4312 ms, time limit is 2000 ms
|
||||
2022-11-16 19:41:51,530 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 5312 ms, time limit is 2000 ms
|
||||
io.vertx.core.VertxException: Thread blocked
|
||||
at java.lang.ClassLoader$NativeLibrary.load0(Native Method) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617) ~[?:?]
|
||||
at java.lang.Runtime.load0(Runtime.java:765) ~[?:?]
|
||||
at java.lang.System.load(System.java:1835) ~[?:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadNativeLibrary(SQLiteJDBCLoader.java:280) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.extractAndLoadLibraryFile(SQLiteJDBCLoader.java:237) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:350) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.core.NativeDB.load(NativeDB.java:63) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:278) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:65) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.createConnection(JDBC.java:104) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.connect(JDBC.java:77) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:152) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:50) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$$Lambda$172/0x00000001002b0040.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl$$Lambda$180/0x00000001002b7c40.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase$$Lambda$160/0x00000001002a8840.run(Unknown Source) ~[?:?]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) ~[?:?]
|
||||
2022-11-16 19:41:52,530 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 6313 ms, time limit is 2000 ms
|
||||
io.vertx.core.VertxException: Thread blocked
|
||||
at java.lang.ClassLoader$NativeLibrary.load0(Native Method) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617) ~[?:?]
|
||||
at java.lang.Runtime.load0(Runtime.java:765) ~[?:?]
|
||||
at java.lang.System.load(System.java:1835) ~[?:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadNativeLibrary(SQLiteJDBCLoader.java:280) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.extractAndLoadLibraryFile(SQLiteJDBCLoader.java:237) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:350) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.core.NativeDB.load(NativeDB.java:63) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:278) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:65) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.createConnection(JDBC.java:104) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.connect(JDBC.java:77) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:152) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:50) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$$Lambda$172/0x00000001002b0040.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl$$Lambda$180/0x00000001002b7c40.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase$$Lambda$160/0x00000001002a8840.run(Unknown Source) ~[?:?]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) ~[?:?]
|
||||
2022-11-16 19:41:53,531 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 7313 ms, time limit is 2000 ms
|
||||
io.vertx.core.VertxException: Thread blocked
|
||||
at java.lang.ClassLoader$NativeLibrary.load0(Native Method) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617) ~[?:?]
|
||||
at java.lang.Runtime.load0(Runtime.java:765) ~[?:?]
|
||||
at java.lang.System.load(System.java:1835) ~[?:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadNativeLibrary(SQLiteJDBCLoader.java:280) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.extractAndLoadLibraryFile(SQLiteJDBCLoader.java:237) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:350) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.core.NativeDB.load(NativeDB.java:63) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:278) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:65) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.createConnection(JDBC.java:104) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.connect(JDBC.java:77) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:152) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:50) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$$Lambda$172/0x00000001002b0040.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl$$Lambda$180/0x00000001002b7c40.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase$$Lambda$160/0x00000001002a8840.run(Unknown Source) ~[?:?]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) ~[?:?]
|
||||
2022-11-16 19:41:54,531 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 8313 ms, time limit is 2000 ms
|
||||
io.vertx.core.VertxException: Thread blocked
|
||||
at java.lang.ClassLoader$NativeLibrary.load0(Native Method) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430) ~[?:?]
|
||||
at java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684) ~[?:?]
|
||||
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617) ~[?:?]
|
||||
at java.lang.Runtime.load0(Runtime.java:765) ~[?:?]
|
||||
at java.lang.System.load(System.java:1835) ~[?:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadNativeLibrary(SQLiteJDBCLoader.java:280) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.extractAndLoadLibraryFile(SQLiteJDBCLoader.java:237) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:350) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.core.NativeDB.load(NativeDB.java:63) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:278) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:65) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.createConnection(JDBC.java:104) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.JDBC.connect(JDBC.java:77) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:152) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:50) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$$Lambda$172/0x00000001002b0040.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl$$Lambda$180/0x00000001002b7c40.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase$$Lambda$160/0x00000001002a8840.run(Unknown Source) ~[?:?]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) ~[?:?]
|
||||
2022-11-16 19:41:55,169 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-16 19:41:55,447 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-16T19:41:55.447073600
|
||||
2022-11-16 19:41:55,550 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 9314 ms, time limit is 2000 ms
|
||||
io.vertx.core.VertxException: Thread blocked
|
||||
at java.lang.ClassLoader.defineClass2(Native Method) ~[?:?]
|
||||
at java.lang.ClassLoader.defineClass(ClassLoader.java:1108) ~[?:?]
|
||||
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:206) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:759) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:680) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:605) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:640) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:609) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) ~[?:?]
|
||||
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
|
||||
at com.zaxxer.hikari.pool.PoolEntry.createProxyConnection(PoolEntry.java:102) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:192) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100) ~[HikariCP-4.0.3.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$Companion$connect$3.invoke(Database.kt:141) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$Companion$connect$3.invoke(Database.kt:138) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$Companion$doConnect$3.invoke(Database.kt:126) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$Companion$doConnect$3.invoke(Database.kt:127) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database.metadata$exposed_core(Database.kt:31) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$vendor$2.invoke(Database.kt:44) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$vendor$2.invoke(Database.kt:43) ~[exposed-core-0.40.1.jar:?]
|
||||
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) ~[kotlin-stdlib-1.7.20.jar:1.7.20-release-201(1.7.20)]
|
||||
at org.jetbrains.exposed.sql.Database.getVendor(Database.kt:43) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$dialect$2.invoke(Database.kt:48) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$dialect$2.invoke(Database.kt:47) ~[exposed-core-0.40.1.jar:?]
|
||||
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) ~[kotlin-stdlib-1.7.20.jar:1.7.20-release-201(1.7.20)]
|
||||
at org.jetbrains.exposed.sql.Database.getDialect(Database.kt:47) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Database$Companion.getDefaultIsolationLevel(Database.kt:209) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManager.getDefaultIsolationLevel(ThreadLocalTransactionManager.kt:28) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:147) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:155) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:50) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$$Lambda$172/0x00000001002b0040.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl$$Lambda$180/0x00000001002b7c40.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase$$Lambda$160/0x00000001002a8840.run(Unknown Source) ~[?:?]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) ~[?:?]
|
||||
2022-11-16 19:41:56,106 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-16 19:41:56,106 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-16 19:41:56,110 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 4ms
|
||||
2022-11-16 19:41:56,111 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 5ms
|
||||
2022-11-16 19:41:56,111 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-16 19:41:56,162 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-16 19:41:56,164 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-16 19:41:56,165 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-16 19:41:56,165 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 54ms
|
||||
2022-11-16 19:41:56,165 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-16T19:41:56.165153500
|
||||
2022-11-16 19:41:56,378 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-16 19:41:56,408 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-16 19:41:56,408 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-16 19:41:56,409 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-16 19:41:56,572 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-16 19:41:56,532 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 10314 ms, time limit is 2000 ms
|
||||
io.vertx.core.VertxException: Thread blocked
|
||||
at sun.nio.ch.WindowsSelectorImpl.setWakeupSocket0(Native Method) ~[?:?]
|
||||
at sun.nio.ch.WindowsSelectorImpl.setWakeupSocket(WindowsSelectorImpl.java:504) ~[?:?]
|
||||
at sun.nio.ch.WindowsSelectorImpl.wakeup(WindowsSelectorImpl.java:625) ~[?:?]
|
||||
at io.netty.channel.nio.SelectedSelectionKeySetSelector.wakeup(SelectedSelectionKeySetSelector.java:73) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.wakeup(NioEventLoop.java:853) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:857) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:827) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:817) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.vertx.core.impl.EventLoopContext.runOnContext(EventLoopContext.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.ContextBase.runOnContext(ContextBase.java:218) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.DeploymentManager.doDeploy(DeploymentManager.java:191) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.DeploymentManager.doDeploy(DeploymentManager.java:167) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.DeploymentManager.deployVerticle(DeploymentManager.java:72) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.VertxImpl.deployVerticle(VertxImpl.java:708) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.VertxImpl.deployVerticle(VertxImpl.java:688) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at com.hisense.dahua_video.MainVerticle.deployVerticles(MainVerticle.kt:120) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:74) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$$Lambda$172/0x00000001002b0040.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl$$Lambda$180/0x00000001002b7c40.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase$$Lambda$160/0x00000001002a8840.run(Unknown Source) ~[?:?]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) ~[?:?]
|
||||
2022-11-16 19:41:56,967 INFO [com.hisense.dahua_video.verticle.OrganizationVerticle]-[vert.x-eventloop-thread-16] devicesManagerUtil 创建成功!
|
||||
2022-11-16 19:41:56,967 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-17] monitorSessionUtil 创建成功!
|
||||
2022-11-16 19:41:56,968 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-16 19:41:56,968 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-16 19:41:57,535 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:57,535 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,044 INFO [com.hisense.dahua_video.dao.MonitorUserTokenDao]-[vert.x-eventloop-thread-2] 有效token:[]
|
||||
2022-11-16 19:41:58,138 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-16 19:41:58,141 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] domain: 10.132.191.3 port:8314
|
||||
2022-11-16 19:41:58,910 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-16 19:41:58,910 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-16 19:41:58,911 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,911 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,912 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,912 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,912 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,912 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,913 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,913 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,913 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,913 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,913 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,913 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,914 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-16 19:41:58,914 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-16 19:41:58,914 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-16 19:41:58,914 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-16 19:41:58,914 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-16 19:41:58,914 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-16 19:41:58,915 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
|
@ -0,0 +1,390 @@
|
|||
2022-11-17 17:30:57,217 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-17T17:30:57.216725700
|
||||
2022-11-17 17:30:57,259 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-17 17:30:59,461 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2464 ms, time limit is 2000 ms
|
||||
2022-11-17 17:31:00,462 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 3464 ms, time limit is 2000 ms
|
||||
2022-11-17 17:31:00,623 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-17 17:31:01,462 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 4465 ms, time limit is 2000 ms
|
||||
2022-11-17 17:31:02,092 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-17T17:31:02.092679800
|
||||
2022-11-17 17:31:02,462 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 5465 ms, time limit is 2000 ms
|
||||
io.vertx.core.VertxException: Thread blocked
|
||||
at java.io.RandomAccessFile.readBytes(Native Method) ~[?:?]
|
||||
at java.io.RandomAccessFile.read(RandomAccessFile.java:407) ~[?:?]
|
||||
at java.util.zip.ZipFile$Source.readAt(ZipFile.java:1343) ~[?:?]
|
||||
at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:1021) ~[?:?]
|
||||
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:469) ~[?:?]
|
||||
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:159) ~[?:?]
|
||||
at jdk.internal.loader.Resource.getBytes(Resource.java:124) ~[?:?]
|
||||
at jdk.internal.loader.URLClassPath$JarLoader$2.getBytes(URLClassPath.java:884) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:797) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) ~[?:?]
|
||||
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) ~[?:?]
|
||||
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcDatabaseMetadataImpl.tableNamesFor(JdbcDatabaseMetadataImpl.kt:100) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcDatabaseMetadataImpl.access$tableNamesFor(JdbcDatabaseMetadataImpl.kt:18) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcDatabaseMetadataImpl$tableNames$1.invoke(JdbcDatabaseMetadataImpl.kt:95) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcDatabaseMetadataImpl$tableNames$1.invoke(JdbcDatabaseMetadataImpl.kt:94) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcDatabaseMetadataImpl$CachableMapWithDefault.get(JdbcDatabaseMetadataImpl.kt:87) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at kotlin.collections.MapsKt__MapWithDefaultKt.getOrImplicitDefaultNullable(MapWithDefault.kt:105) ~[kotlin-stdlib-1.7.20.jar:1.7.20-release-201(1.7.20)]
|
||||
at kotlin.collections.MapsKt__MapsKt.getValue(Maps.kt:348) ~[kotlin-stdlib-1.7.20.jar:1.7.20-release-201(1.7.20)]
|
||||
at org.jetbrains.exposed.sql.vendors.VendorDialect.tableExists(Default.kt:760) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.QueriesKt.exists(Queries.kt:238) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createStatements(SchemaUtils.kt:96) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.create(SchemaUtils.kt:258) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.create$default(SchemaUtils.kt:256) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:157) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:155) ~[classes/:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:214) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:240) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:239) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:189) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:159) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:146) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:155) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:50) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$$Lambda$172/0x00000001002b0040.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl$$Lambda$180/0x00000001002b7c40.handle(Unknown Source) ~[?:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase$$Lambda$160/0x00000001002a8840.run(Unknown Source) ~[?:?]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) ~[?:?]
|
||||
2022-11-17 17:31:02,689 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 1ms
|
||||
2022-11-17 17:31:02,689 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-17 17:31:02,698 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 8ms
|
||||
2022-11-17 17:31:02,699 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 9ms
|
||||
2022-11-17 17:31:02,699 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-17 17:31:02,742 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-17 17:31:02,743 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-17 17:31:02,744 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-17 17:31:02,744 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 45ms
|
||||
2022-11-17 17:31:02,744 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-17T17:31:02.744934600
|
||||
2022-11-17 17:31:02,798 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-17 17:31:02,839 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-17 17:31:02,839 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-17 17:31:02,839 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-17 17:31:03,347 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-16] monitorSessionUtil 创建成功!
|
||||
2022-11-17 17:31:03,348 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-17 17:31:03,348 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-17 17:31:03,444 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-17 17:31:03,554 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:03,554 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:03,554 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:03,554 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,145 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-17 17:31:04,149 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] domain: 10.132.191.3 port:8314
|
||||
2022-11-17 17:31:04,278 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-17 17:31:04,278 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-17 17:31:04,278 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-17 17:31:04,278 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-17 17:31:04,280 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,280 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,280 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,280 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,281 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,281 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,281 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,282 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,282 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,282 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-17 17:31:04,282 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-17 17:31:04,282 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-17 17:31:04,282 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,282 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-17 17:31:04,283 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-17 17:31:04,283 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,283 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-17 17:31:04,283 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-17 17:31:04,283 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-17 17:31:04,283 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-17 17:31:04,283 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-17 17:31:04,284 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-17 17:31:04,284 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-17 17:31:04,284 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-17 17:31:04,284 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-17 17:31:25,468 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-17 17:36:31,146 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-17T17:36:31.144833
|
||||
2022-11-17 17:36:31,214 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-17 17:36:31,406 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-17 17:36:31,412 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-17T17:36:31.412117800
|
||||
2022-11-17 17:36:31,744 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 1ms
|
||||
2022-11-17 17:36:31,745 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-17 17:36:31,757 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 11ms
|
||||
2022-11-17 17:36:31,758 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 13ms
|
||||
2022-11-17 17:36:31,758 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-17 17:36:31,819 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-17 17:36:31,820 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-17 17:36:31,821 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-17 17:36:31,821 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 63ms
|
||||
2022-11-17 17:36:31,821 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-17T17:36:31.821032200
|
||||
2022-11-17 17:36:31,868 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-17 17:36:31,886 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-17 17:36:31,887 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-17 17:36:31,887 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-17 17:36:32,163 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-24] monitorSessionUtil 创建成功!
|
||||
2022-11-17 17:36:32,164 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-17 17:36:32,164 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-17 17:36:32,203 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-17 17:36:32,300 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,492 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-24] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-17 17:36:32,496 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-24] domain: 10.132.191.3 port:8314
|
||||
2022-11-17 17:36:32,788 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-17 17:36:32,789 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,789 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,789 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,789 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,789 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,790 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,790 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,790 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,790 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,791 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,791 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,790 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,791 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,791 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,792 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-17 17:36:32,792 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-17 17:36:32,792 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-17 17:36:32,792 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-17 17:36:32,792 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-17 17:36:32,792 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-17 17:36:32,793 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-17 17:36:53,874 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-24] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-17 17:48:13,468 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-17T17:48:13.466077500
|
||||
2022-11-17 17:48:13,535 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-17 17:48:13,733 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-17 17:48:13,740 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-17T17:48:13.740377900
|
||||
2022-11-17 17:48:13,872 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-17 17:48:13,873 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-17 17:48:13,879 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 5ms
|
||||
2022-11-17 17:48:13,879 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 5ms
|
||||
2022-11-17 17:48:13,879 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-17 17:48:13,949 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-17 17:48:13,954 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-17 17:48:13,954 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-17 17:48:13,955 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 75ms
|
||||
2022-11-17 17:48:13,955 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-17T17:48:13.955767600
|
||||
2022-11-17 17:48:14,016 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-17 17:48:14,035 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-17 17:48:14,035 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-17 17:48:14,035 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-17 17:48:14,336 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-16] monitorSessionUtil 创建成功!
|
||||
2022-11-17 17:48:14,337 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-17 17:48:14,337 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-17 17:48:14,346 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,446 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,604 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-17 17:48:14,608 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] domain: 10.132.191.3 port:8314
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-17 17:48:14,887 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-17 17:48:14,889 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,889 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,889 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,889 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,890 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,890 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-17 17:48:14,891 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-17 17:48:14,892 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-17 17:48:25,756 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:48:35,955 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-16] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
2022-11-17 17:50:16,982 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:21,546 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:22,293 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:22,902 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:23,491 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:24,055 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:24,601 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:25,289 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:25,977 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:26,606 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:27,151 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:27,719 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:28,173 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:28,665 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:29,261 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:29,877 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:50:30,439 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:57:36,224 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:57:45,993 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:57:54,553 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:57:57,985 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:58:00,441 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 17:58:02,450 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:36,673 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:39,177 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:46,102 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:46,873 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:47,679 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:48,497 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:49,209 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:49,948 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:51,433 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:52,116 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:52,702 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:53,184 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:03:53,737 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:10:21,093 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:10:24,737 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:13,736 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:17,336 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:26,546 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:28,977 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:31,105 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:33,111 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:34,928 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:37,456 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:39,648 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:42,656 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:44,424 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:45,717 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:46,745 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:47,397 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:47,955 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:48,555 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:50,743 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:51,887 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:52,868 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:54,288 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:54,897 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:55,464 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:11:56,061 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:05,537 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:10,229 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:34,698 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:42,922 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:44,361 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:45,441 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:46,264 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:46,937 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:51,201 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:51,818 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:52,267 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:52,693 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:53,124 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:57,515 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:58,560 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:19:59,185 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:20:50,756 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:26:54,825 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:26:56,896 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:26:58,263 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:26:58,999 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:26:59,532 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:27:00,023 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:27:00,537 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:27:01,052 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:27:01,757 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:27:02,375 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
||||
2022-11-17 18:27:03,937 INFO [com.hisense.dahua_video.dao.SysUserDao]-[vert.x-eventloop-thread-9] checkLogin:{"userName":"liwen","password":"password"}
|
|
@ -0,0 +1,369 @@
|
|||
2022-11-18 16:16:16,528 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-18T16:16:16.527701600
|
||||
2022-11-18 16:16:16,582 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-18 16:16:17,993 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-18 16:16:18,055 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-18T16:16:18.055891600
|
||||
2022-11-18 16:16:18,155 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 1ms
|
||||
2022-11-18 16:16:18,155 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-18 16:16:18,161 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 5ms
|
||||
2022-11-18 16:16:18,166 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 10ms
|
||||
2022-11-18 16:16:18,173 WARN [Exposed]-[vert.x-eventloop-thread-1] Transaction attempt #0 failed: java.sql.SQLException: Query returns results. Statement(s): ALTER TABLE sys_device ADD device_id TEXT NOT NULL
|
||||
org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLException: Query returns results
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:64) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:140) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:126) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:108) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:94) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec$default(Transaction.kt:93) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.execStatements(SchemaUtils.kt:251) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns(SchemaUtils.kt:321) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns$default(SchemaUtils.kt:306) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:160) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:157) ~[classes/:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:214) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:240) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:239) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:189) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:159) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:146) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:157) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:51) ~[classes/:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
Caused by: java.sql.SQLException: Query returns results
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:106) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:98) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcPreparedStatementImpl.executeUpdate(JdbcPreparedStatementImpl.kt:26) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction$exec$2.executeInternal(Transaction.kt:113) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:62) ~[exposed-core-0.40.1.jar:?]
|
||||
... 58 more
|
||||
2022-11-18 16:16:18,185 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-18 16:16:18,185 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-18 16:16:18,187 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 2ms
|
||||
2022-11-18 16:16:18,188 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 3ms
|
||||
2022-11-18 16:16:18,188 WARN [Exposed]-[vert.x-eventloop-thread-1] Transaction attempt #1 failed: java.sql.SQLException: Query returns results. Statement(s): ALTER TABLE sys_device ADD device_id TEXT NOT NULL
|
||||
org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLException: Query returns results
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:64) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:140) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:126) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:108) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:94) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec$default(Transaction.kt:93) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.execStatements(SchemaUtils.kt:251) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns(SchemaUtils.kt:321) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns$default(SchemaUtils.kt:306) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:160) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:157) ~[classes/:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:214) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:240) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:239) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:189) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:159) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:146) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:157) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:51) ~[classes/:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
Caused by: java.sql.SQLException: Query returns results
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:106) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:98) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcPreparedStatementImpl.executeUpdate(JdbcPreparedStatementImpl.kt:26) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction$exec$2.executeInternal(Transaction.kt:113) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:62) ~[exposed-core-0.40.1.jar:?]
|
||||
... 58 more
|
||||
2022-11-18 16:16:18,190 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 1ms
|
||||
2022-11-18 16:16:18,190 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-18 16:16:18,192 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 2ms
|
||||
2022-11-18 16:16:18,192 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 2ms
|
||||
2022-11-18 16:16:18,192 WARN [Exposed]-[vert.x-eventloop-thread-1] Transaction attempt #2 failed: java.sql.SQLException: Query returns results. Statement(s): ALTER TABLE sys_device ADD device_id TEXT NOT NULL
|
||||
org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLException: Query returns results
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:64) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:140) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:126) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:108) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:94) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec$default(Transaction.kt:93) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.execStatements(SchemaUtils.kt:251) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns(SchemaUtils.kt:321) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns$default(SchemaUtils.kt:306) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:160) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:157) ~[classes/:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:214) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:240) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:239) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:189) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:159) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:146) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:157) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:51) ~[classes/:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
Caused by: java.sql.SQLException: Query returns results
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:106) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:98) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcPreparedStatementImpl.executeUpdate(JdbcPreparedStatementImpl.kt:26) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction$exec$2.executeInternal(Transaction.kt:113) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:62) ~[exposed-core-0.40.1.jar:?]
|
||||
... 58 more
|
||||
2022-11-18 16:16:18,193 ERROR [io.vertx.core.impl.ContextBase]-[vert.x-eventloop-thread-1] Unhandled exception
|
||||
org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLException: Query returns results
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:64) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:140) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:126) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:108) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec(Transaction.kt:94) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction.exec$default(Transaction.kt:93) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.execStatements(SchemaUtils.kt:251) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns(SchemaUtils.kt:321) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.SchemaUtils.createMissingTablesAndColumns$default(SchemaUtils.kt:306) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:160) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle$exposed$1.invoke(MainVerticle.kt:157) ~[classes/:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:214) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:240) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:239) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:189) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:248) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:159) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:146) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145) ~[exposed-core-0.40.1.jar:?]
|
||||
at com.hisense.dahua_video.MainVerticle.exposed(MainVerticle.kt:157) ~[classes/:?]
|
||||
at com.hisense.dahua_video.MainVerticle.start$lambda$4(MainVerticle.kt:51) ~[classes/:?]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Mapping.onSuccess(Mapping.java:40) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.trySucceed(CompositeFutureImpl.java:163) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:38) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.SucceededFuture.addListener(SucceededFuture.java:88) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl.addListener(FutureImpl.java:196) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.PromiseImpl.addListener(PromiseImpl.java:23) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:43) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureImpl$ListenerArray.onSuccess(FutureImpl.java:262) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54) ~[vertx-core-4.3.4.jar:4.3.4]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
||||
Caused by: java.sql.SQLException: Query returns results
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:106) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:98) ~[sqlite-jdbc-3.39.4.0.jar:?]
|
||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:?]
|
||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.jdbc.JdbcPreparedStatementImpl.executeUpdate(JdbcPreparedStatementImpl.kt:26) ~[exposed-jdbc-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.Transaction$exec$2.executeInternal(Transaction.kt:113) ~[exposed-core-0.40.1.jar:?]
|
||||
at org.jetbrains.exposed.sql.statements.Statement.executeIn$exposed_core(Statement.kt:62) ~[exposed-core-0.40.1.jar:?]
|
||||
... 58 more
|
||||
2022-11-18 16:17:33,061 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 开始创表2022-11-18T16:17:33.055055800
|
||||
2022-11-18 16:17:33,109 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Starting...
|
||||
2022-11-18 16:17:33,610 INFO [com.zaxxer.hikari.HikariDataSource]-[vert.x-eventloop-thread-1] HikariPool-1 - Start completed.
|
||||
2022-11-18 16:17:33,692 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 连接完成2022-11-18T16:17:33.690195600
|
||||
2022-11-18 16:17:34,603 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing create tables statements took 0ms
|
||||
2022-11-18 16:17:34,603 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing create tables statements took 0ms
|
||||
2022-11-18 16:17:34,618 INFO [Exposed]-[vert.x-eventloop-thread-1] Extracting table columns took 14ms
|
||||
2022-11-18 16:17:34,618 INFO [Exposed]-[vert.x-eventloop-thread-1] Preparing alter table statements took 15ms
|
||||
2022-11-18 16:17:34,618 INFO [Exposed]-[vert.x-eventloop-thread-1] Executing alter table statements took 0ms
|
||||
2022-11-18 16:17:34,665 WARN [io.vertx.core.impl.BlockedThreadChecker]-[vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2528 ms, time limit is 2000 ms
|
||||
2022-11-18 16:17:34,666 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_monitor_user' differs only in name: in db sys_monitor_user_userName -> in mapping sys_monitor_user_userName_unique
|
||||
2022-11-18 16:17:34,681 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_user' differs only in name: in db sys_user_userName -> in mapping sys_user_userName_unique
|
||||
2022-11-18 16:17:34,681 INFO [Exposed]-[vert.x-eventloop-thread-1] Index on table 'sys_organization' differs only in name: in db sys_organization_org_id -> in mapping sys_organization_org_id_unique
|
||||
2022-11-18 16:17:34,682 INFO [Exposed]-[vert.x-eventloop-thread-1] Checking mapping consistence took 63ms
|
||||
2022-11-18 16:17:34,682 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 创表成功2022-11-18T16:17:34.682274800
|
||||
2022-11-18 16:17:34,740 WARN [io.vertx.core.impl.VertxImpl]-[vert.x-eventloop-thread-1] You're already on a Vert.x context, are you sure you want to create a new Vertx instance?
|
||||
2022-11-18 16:17:34,778 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 无集群配置,进行单节点部署!
|
||||
2022-11-18 16:17:34,779 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] vertx.isNativeTransportEnabled:false
|
||||
2022-11-18 16:17:34,779 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-1] 截图根目录:/mnts/record/\
|
||||
2022-11-18 16:17:35,219 INFO [com.hisense.dahua_video.verticle.MonitorVerticle]-[vert.x-eventloop-thread-17] monitorSessionUtil 创建成功!
|
||||
2022-11-18 16:17:35,220 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 MonitorVerticle 成功!
|
||||
2022-11-18 16:17:35,220 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 OrganizationVerticle 成功!
|
||||
2022-11-18 16:17:35,328 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 SqlFactoryVerticle 成功!
|
||||
2022-11-18 16:17:35,682 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:35,716 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] authorize:{"userName":"ynszdz","password":"Admin@123","monitorDomain":"http://10.132.191.3:8314","id":1}
|
||||
2022-11-18 16:17:35,720 INFO [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] domain: 10.132.191.3 port:8314
|
||||
2022-11-18 16:17:36,659 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-10] 开放管理员后台
|
||||
2022-11-18 16:17:36,660 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,661 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,661 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,661 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,661 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,661 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,662 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,662 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,662 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,662 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,663 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,662 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,663 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,663 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-4] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-14] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-13] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-7] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-5] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-2] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-15] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-3] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-0] 开放管理员后台
|
||||
2022-11-18 16:17:36,664 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] http 服务监听端口: 8883
|
||||
2022-11-18 16:17:36,665 INFO [com.hisense.dahua_video.MainVerticle]-[vert.x-eventloop-thread-31] 部署 WebAPIVerticle 成功!
|
||||
2022-11-18 16:17:36,665 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-8] 开放管理员后台
|
||||
2022-11-18 16:17:36,665 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-11] 开放管理员后台
|
||||
2022-11-18 16:17:36,665 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-6] 开放管理员后台
|
||||
2022-11-18 16:17:36,665 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-1] 开放管理员后台
|
||||
2022-11-18 16:17:36,665 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-9] 开放管理员后台
|
||||
2022-11-18 16:17:36,665 INFO [com.hisense.dahua_video.verticle.WebAPIVerticle]-[vert.x-eventloop-thread-12] 开放管理员后台
|
||||
2022-11-18 16:17:57,609 ERROR [com.hisense.dahua_video.util.MonitorSessionUtil]-[vert.x-eventloop-thread-17] 创建会话失败
|
||||
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /10.132.191.3:8314
|
||||
Caused by: java.net.ConnectException: Connection timed out: no further information
|
||||
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?]
|
||||
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[?:?]
|
||||
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.82.Final.jar:4.1.82.Final]
|
||||
at java.lang.Thread.run(Thread.java:834) [?:?]
|
|
@ -0,0 +1,316 @@
|
|||
#!/bin/sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Maven Start Up Batch script
|
||||
#
|
||||
# Required ENV vars:
|
||||
# ------------------
|
||||
# JAVA_HOME - location of a JDK home dir
|
||||
#
|
||||
# Optional ENV vars
|
||||
# -----------------
|
||||
# M2_HOME - location of maven2's installed home dir
|
||||
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
|
||||
# e.g. to debug Maven itself, use
|
||||
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
|
||||
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
if [ -z "$MAVEN_SKIP_RC" ] ; then
|
||||
|
||||
if [ -f /usr/local/etc/mavenrc ] ; then
|
||||
. /usr/local/etc/mavenrc
|
||||
fi
|
||||
|
||||
if [ -f /etc/mavenrc ] ; then
|
||||
. /etc/mavenrc
|
||||
fi
|
||||
|
||||
if [ -f "$HOME/.mavenrc" ] ; then
|
||||
. "$HOME/.mavenrc"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# OS specific support. $var _must_ be set to either true or false.
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
mingw=false
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true ;;
|
||||
MINGW*) mingw=true;;
|
||||
Darwin*) darwin=true
|
||||
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
|
||||
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
if [ -x "/usr/libexec/java_home" ]; then
|
||||
export JAVA_HOME="`/usr/libexec/java_home`"
|
||||
else
|
||||
export JAVA_HOME="/Library/Java/Home"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
if [ -r /etc/gentoo-release ] ; then
|
||||
JAVA_HOME=`java-config --jre-home`
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$M2_HOME" ] ; then
|
||||
## resolve links - $0 may be a link to maven's home
|
||||
PRG="$0"
|
||||
|
||||
# need this for relative symlinks
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG="`dirname "$PRG"`/$link"
|
||||
fi
|
||||
done
|
||||
|
||||
saveddir=`pwd`
|
||||
|
||||
M2_HOME=`dirname "$PRG"`/..
|
||||
|
||||
# make it fully qualified
|
||||
M2_HOME=`cd "$M2_HOME" && pwd`
|
||||
|
||||
cd "$saveddir"
|
||||
# echo Using m2 at $M2_HOME
|
||||
fi
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||
if $cygwin ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --unix "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||
fi
|
||||
|
||||
# For Mingw, ensure paths are in UNIX format before anything is touched
|
||||
if $mingw ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME="`(cd "$M2_HOME"; pwd)`"
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
javaExecutable="`which javac`"
|
||||
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
|
||||
# readlink(1) is not available as standard on Solaris 10.
|
||||
readLink=`which readlink`
|
||||
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
|
||||
if $darwin ; then
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
|
||||
else
|
||||
javaExecutable="`readlink -f \"$javaExecutable\"`"
|
||||
fi
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
|
||||
JAVA_HOME="$javaHome"
|
||||
export JAVA_HOME
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
else
|
||||
JAVACMD="`\\unset -f command; \\command -v java`"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
echo "Error: JAVA_HOME is not defined correctly." >&2
|
||||
echo " We cannot execute $JAVACMD" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
echo "Warning: JAVA_HOME environment variable is not set."
|
||||
fi
|
||||
|
||||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
|
||||
|
||||
# traverses directory structure from process work directory to filesystem root
|
||||
# first directory with .mvn subdirectory is considered project base directory
|
||||
find_maven_basedir() {
|
||||
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "Path not specified to find_maven_basedir"
|
||||
return 1
|
||||
fi
|
||||
|
||||
basedir="$1"
|
||||
wdir="$1"
|
||||
while [ "$wdir" != '/' ] ; do
|
||||
if [ -d "$wdir"/.mvn ] ; then
|
||||
basedir=$wdir
|
||||
break
|
||||
fi
|
||||
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
|
||||
if [ -d "${wdir}" ]; then
|
||||
wdir=`cd "$wdir/.."; pwd`
|
||||
fi
|
||||
# end of workaround
|
||||
done
|
||||
echo "${basedir}"
|
||||
}
|
||||
|
||||
# concatenates all lines of a file
|
||||
concat_lines() {
|
||||
if [ -f "$1" ]; then
|
||||
echo "$(tr -s '\n' ' ' < "$1")"
|
||||
fi
|
||||
}
|
||||
|
||||
BASE_DIR=`find_maven_basedir "$(pwd)"`
|
||||
if [ -z "$BASE_DIR" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
##########################################################################################
|
||||
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
|
||||
# This allows using the maven wrapper in projects that prohibit checking in binary data.
|
||||
##########################################################################################
|
||||
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found .mvn/wrapper/maven-wrapper.jar"
|
||||
fi
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
|
||||
fi
|
||||
if [ -n "$MVNW_REPOURL" ]; then
|
||||
jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
else
|
||||
jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
fi
|
||||
while IFS="=" read key value; do
|
||||
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
|
||||
esac
|
||||
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Downloading from: $jarUrl"
|
||||
fi
|
||||
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
|
||||
if $cygwin; then
|
||||
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
|
||||
fi
|
||||
|
||||
if command -v wget > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found wget ... using wget"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
|
||||
else
|
||||
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
|
||||
fi
|
||||
elif command -v curl > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found curl ... using curl"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
curl -o "$wrapperJarPath" "$jarUrl" -f
|
||||
else
|
||||
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
|
||||
fi
|
||||
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Falling back to using Java to download"
|
||||
fi
|
||||
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
|
||||
# For Cygwin, switch paths to Windows format before running javac
|
||||
if $cygwin; then
|
||||
javaClass=`cygpath --path --windows "$javaClass"`
|
||||
fi
|
||||
if [ -e "$javaClass" ]; then
|
||||
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Compiling MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
# Compiling the Java class
|
||||
("$JAVA_HOME/bin/javac" "$javaClass")
|
||||
fi
|
||||
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
# Running the downloader
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Running MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
##########################################################################################
|
||||
# End of extension
|
||||
##########################################################################################
|
||||
|
||||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo $MAVEN_PROJECTBASEDIR
|
||||
fi
|
||||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --path --windows "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
|
||||
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
|
||||
fi
|
||||
|
||||
# Provide a "standardized" way to retrieve the CLI args that will
|
||||
# work with both Windows and non-Windows executions.
|
||||
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
|
||||
export MAVEN_CMD_LINE_ARGS
|
||||
|
||||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
|
||||
|
||||
exec "$JAVACMD" \
|
||||
$MAVEN_OPTS \
|
||||
$MAVEN_DEBUG_OPTS \
|
||||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
|
||||
"-Dmaven.home=${M2_HOME}" \
|
||||
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
|
||||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
|
|
@ -0,0 +1,188 @@
|
|||
@REM ----------------------------------------------------------------------------
|
||||
@REM Licensed to the Apache Software Foundation (ASF) under one
|
||||
@REM or more contributor license agreements. See the NOTICE file
|
||||
@REM distributed with this work for additional information
|
||||
@REM regarding copyright ownership. The ASF licenses this file
|
||||
@REM to you under the Apache License, Version 2.0 (the
|
||||
@REM "License"); you may not use this file except in compliance
|
||||
@REM with the License. You may obtain a copy of the License at
|
||||
@REM
|
||||
@REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
@REM
|
||||
@REM Unless required by applicable law or agreed to in writing,
|
||||
@REM software distributed under the License is distributed on an
|
||||
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
@REM KIND, either express or implied. See the License for the
|
||||
@REM specific language governing permissions and limitations
|
||||
@REM under the License.
|
||||
@REM ----------------------------------------------------------------------------
|
||||
|
||||
@REM ----------------------------------------------------------------------------
|
||||
@REM Maven Start Up Batch script
|
||||
@REM
|
||||
@REM Required ENV vars:
|
||||
@REM JAVA_HOME - location of a JDK home dir
|
||||
@REM
|
||||
@REM Optional ENV vars
|
||||
@REM M2_HOME - location of maven2's installed home dir
|
||||
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
|
||||
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
|
||||
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
|
||||
@REM e.g. to debug Maven itself, use
|
||||
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
|
||||
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
|
||||
@REM ----------------------------------------------------------------------------
|
||||
|
||||
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
|
||||
@echo off
|
||||
@REM set title of command window
|
||||
title %0
|
||||
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
|
||||
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
|
||||
|
||||
@REM set %HOME% to equivalent of $HOME
|
||||
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
|
||||
|
||||
@REM Execute a user defined script before this one
|
||||
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
|
||||
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
|
||||
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
|
||||
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
|
||||
:skipRcPre
|
||||
|
||||
@setlocal
|
||||
|
||||
set ERROR_CODE=0
|
||||
|
||||
@REM To isolate internal variables from possible post scripts, we use another setlocal
|
||||
@setlocal
|
||||
|
||||
@REM ==== START VALIDATION ====
|
||||
if not "%JAVA_HOME%" == "" goto OkJHome
|
||||
|
||||
echo.
|
||||
echo Error: JAVA_HOME not found in your environment. >&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2
|
||||
echo location of your Java installation. >&2
|
||||
echo.
|
||||
goto error
|
||||
|
||||
:OkJHome
|
||||
if exist "%JAVA_HOME%\bin\java.exe" goto init
|
||||
|
||||
echo.
|
||||
echo Error: JAVA_HOME is set to an invalid directory. >&2
|
||||
echo JAVA_HOME = "%JAVA_HOME%" >&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2
|
||||
echo location of your Java installation. >&2
|
||||
echo.
|
||||
goto error
|
||||
|
||||
@REM ==== END VALIDATION ====
|
||||
|
||||
:init
|
||||
|
||||
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
|
||||
@REM Fallback to current working directory if not found.
|
||||
|
||||
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
|
||||
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
|
||||
|
||||
set EXEC_DIR=%CD%
|
||||
set WDIR=%EXEC_DIR%
|
||||
:findBaseDir
|
||||
IF EXIST "%WDIR%"\.mvn goto baseDirFound
|
||||
cd ..
|
||||
IF "%WDIR%"=="%CD%" goto baseDirNotFound
|
||||
set WDIR=%CD%
|
||||
goto findBaseDir
|
||||
|
||||
:baseDirFound
|
||||
set MAVEN_PROJECTBASEDIR=%WDIR%
|
||||
cd "%EXEC_DIR%"
|
||||
goto endDetectBaseDir
|
||||
|
||||
:baseDirNotFound
|
||||
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
|
||||
cd "%EXEC_DIR%"
|
||||
|
||||
:endDetectBaseDir
|
||||
|
||||
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
|
||||
|
||||
@setlocal EnableExtensions EnableDelayedExpansion
|
||||
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
|
||||
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
|
||||
|
||||
:endReadAdditionalConfig
|
||||
|
||||
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
|
||||
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
|
||||
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
|
||||
|
||||
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
|
||||
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
|
||||
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
|
||||
)
|
||||
|
||||
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
|
||||
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
|
||||
if exist %WRAPPER_JAR% (
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Found %WRAPPER_JAR%
|
||||
)
|
||||
) else (
|
||||
if not "%MVNW_REPOURL%" == "" (
|
||||
SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
)
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Couldn't find %WRAPPER_JAR%, downloading it ...
|
||||
echo Downloading from: %DOWNLOAD_URL%
|
||||
)
|
||||
|
||||
powershell -Command "&{"^
|
||||
"$webclient = new-object System.Net.WebClient;"^
|
||||
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
|
||||
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
|
||||
"}"^
|
||||
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
|
||||
"}"
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Finished downloading %WRAPPER_JAR%
|
||||
)
|
||||
)
|
||||
@REM End of extension
|
||||
|
||||
@REM Provide a "standardized" way to retrieve the CLI args that will
|
||||
@REM work with both Windows and non-Windows executions.
|
||||
set MAVEN_CMD_LINE_ARGS=%*
|
||||
|
||||
%MAVEN_JAVA_EXE% ^
|
||||
%JVM_CONFIG_MAVEN_PROPS% ^
|
||||
%MAVEN_OPTS% ^
|
||||
%MAVEN_DEBUG_OPTS% ^
|
||||
-classpath %WRAPPER_JAR% ^
|
||||
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
|
||||
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
|
||||
if ERRORLEVEL 1 goto error
|
||||
goto end
|
||||
|
||||
:error
|
||||
set ERROR_CODE=1
|
||||
|
||||
:end
|
||||
@endlocal & set ERROR_CODE=%ERROR_CODE%
|
||||
|
||||
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
|
||||
@REM check for post script, once with legacy .bat ending and once with .cmd ending
|
||||
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
|
||||
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
|
||||
:skipRcPost
|
||||
|
||||
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
|
||||
if "%MAVEN_BATCH_PAUSE%"=="on" pause
|
||||
|
||||
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
|
||||
|
||||
cmd /C exit /B %ERROR_CODE%
|
|
@ -0,0 +1,262 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.hisense</groupId>
|
||||
<artifactId>dahua_video</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
<kotlin.version>1.7.20</kotlin.version>
|
||||
|
||||
<maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>
|
||||
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
|
||||
<exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
|
||||
|
||||
<vertx.version>4.3.4</vertx.version>
|
||||
<junit-jupiter.version>5.7.0</junit-jupiter.version>
|
||||
|
||||
<caffeine.version>3.1.1</caffeine.version>
|
||||
<log4j.version>2.8.2</log4j.version>
|
||||
<disruptor.version>3.3.6</disruptor.version>
|
||||
<exposed.version>0.40.1</exposed.version>
|
||||
<sqlite-jdbc.version>3.39.4.0</sqlite-jdbc.version>
|
||||
<HikariCP.version>4.0.3</HikariCP.version>
|
||||
|
||||
<main.verticle>com.hisense.dahua_video.MainVerticle</main.verticle>
|
||||
<launcher.class>io.vertx.core.Launcher</launcher.class>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-stack-depchain</artifactId>
|
||||
<version>${vertx.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-web-client</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-web-templ-thymeleaf</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-lang-kotlin</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-lang-kotlin-coroutines</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
||||
<version>${kotlin.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-transport-native-epoll</artifactId>
|
||||
<classifier>linux-x86_64</classifier>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-hazelcast</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/com.github.ben-manes.caffeine/caffeine -->
|
||||
<dependency>
|
||||
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||
<artifactId>caffeine</artifactId>
|
||||
<version>${caffeine.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.exposed</groupId>
|
||||
<artifactId>exposed-core</artifactId>
|
||||
<version>${exposed.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.exposed</groupId>
|
||||
<artifactId>exposed-jdbc</artifactId>
|
||||
<version>${exposed.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.exposed</groupId>
|
||||
<artifactId>exposed-java-time</artifactId>
|
||||
<version>${exposed.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>${sqlite-jdbc.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
|
||||
<dependency>
|
||||
<groupId>com.zaxxer</groupId>
|
||||
<artifactId>HikariCP</artifactId>
|
||||
<version>${HikariCP.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- log4j2 日志配置-->
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j-impl</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jcl</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jul</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.lmax</groupId>
|
||||
<artifactId>disruptor</artifactId>
|
||||
<version>${disruptor.version}</version>
|
||||
</dependency>
|
||||
<!--日志配置结束-->
|
||||
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-junit5</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-api</artifactId>
|
||||
<version>${junit-jupiter.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-engine</artifactId>
|
||||
<version>${junit-jupiter.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
|
||||
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-maven-plugin</artifactId>
|
||||
<version>${kotlin.version}</version>
|
||||
<configuration>
|
||||
<jvmTarget>11</jvmTarget>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>compile</id>
|
||||
<goals>
|
||||
<goal>compile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>test-compile</id>
|
||||
<goals>
|
||||
<goal>test-compile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>${maven-shade-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<transformers>
|
||||
<transformer
|
||||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<manifestEntries>
|
||||
<Main-Class>${launcher.class}</Main-Class>
|
||||
<Main-Verticle>${main.verticle}</Main-Verticle>
|
||||
</manifestEntries>
|
||||
</transformer>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
||||
</transformers>
|
||||
<outputFile>${project.build.directory}/${project.artifactId}-${project.version}-fat.jar
|
||||
</outputFile>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>${maven-surefire-plugin.version}</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>${exec-maven-plugin.version}</version>
|
||||
<configuration>
|
||||
<mainClass>io.vertx.core.Launcher</mainClass>
|
||||
<arguments>
|
||||
<argument>run</argument>
|
||||
<argument>${main.verticle}</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
</project>
|
|
@ -0,0 +1,232 @@
|
|||
package com.hisense.dahua_video
|
||||
|
||||
import com.hazelcast.config.*
|
||||
import com.hisense.dahua_video.modules.device.Device
|
||||
import com.hisense.dahua_video.modules.device.DeviceChannel
|
||||
import com.hisense.dahua_video.modules.device.Organization
|
||||
import com.hisense.dahua_video.modules.monitor.MonitorUser
|
||||
import com.hisense.dahua_video.modules.monitor.MonitorUserToken
|
||||
import com.hisense.dahua_video.modules.sys.SysUser
|
||||
import com.hisense.dahua_video.verticle.MonitorVerticle
|
||||
import com.hisense.dahua_video.verticle.OrganizationVerticle
|
||||
import com.hisense.dahua_video.verticle.SqlFactoryVerticle
|
||||
import com.hisense.dahua_video.verticle.WebAPIVerticle
|
||||
import com.zaxxer.hikari.HikariConfig
|
||||
import com.zaxxer.hikari.HikariDataSource
|
||||
import io.vertx.config.ConfigRetriever
|
||||
import io.vertx.config.ConfigRetrieverOptions
|
||||
import io.vertx.config.ConfigStoreOptions
|
||||
import io.vertx.core.*
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.eventbus.EventBusOptions
|
||||
import io.vertx.core.file.FileSystem
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import io.vertx.core.spi.cluster.ClusterManager
|
||||
import io.vertx.spi.cluster.hazelcast.HazelcastClusterManager
|
||||
import org.jetbrains.exposed.sql.Database
|
||||
import org.jetbrains.exposed.sql.SchemaUtils
|
||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
||||
import org.jetbrains.exposed.sql.addLogger
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import java.io.File
|
||||
import java.time.LocalDateTime
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class MainVerticle : AbstractVerticle() {
|
||||
private val logger: Logger = LoggerFactory.getLogger(MainVerticle::class.java)
|
||||
private val cpuNum = Runtime.getRuntime().availableProcessors()
|
||||
var fs: FileSystem? = null
|
||||
private var event: EventBus? = null
|
||||
|
||||
override fun start(startPromise: Promise<Void>) {
|
||||
fs = vertx.fileSystem()
|
||||
event = vertx.eventBus()
|
||||
val fileStore = ConfigStoreOptions().apply {
|
||||
type = "file"
|
||||
config = JsonObject().put("path", System.getProperty("user.dir") + File.separator + "config.json")
|
||||
}
|
||||
val configOptions = ConfigRetrieverOptions().addStore(fileStore)
|
||||
val retriever = ConfigRetriever.create(vertx, configOptions)
|
||||
retriever.getConfig { config ->
|
||||
val result = config.result()
|
||||
exposed(result)
|
||||
val memberList = result.getJsonArray("memberList", JsonArray()).list
|
||||
var vertxOptions = if (memberList.isNotEmpty()) { // 集群模式配置
|
||||
clusteredOptions(memberList as List<String>, result)
|
||||
} else { // 单体配置
|
||||
VertxOptions().apply {
|
||||
preferNativeTransport = true
|
||||
internalBlockingPoolSize = 1
|
||||
maxWorkerExecuteTime = Long.MAX_VALUE
|
||||
maxWorkerExecuteTimeUnit = TimeUnit.DAYS
|
||||
workerPoolSize = if (cpuNum * 20 <= 80) 80 else cpuNum * 20
|
||||
eventBusOptions = EventBusOptions().apply {
|
||||
host = result.getString("host", "localhost")
|
||||
preferNativeTransport = true
|
||||
isTcpFastOpen = true
|
||||
isTcpQuickAck = true
|
||||
isTcpNoDelay = true
|
||||
}
|
||||
}
|
||||
}
|
||||
val vertx = Vertx.vertx(vertxOptions)
|
||||
when (vertxOptions?.clusterManager) {
|
||||
null -> {
|
||||
logger.info("无集群配置,进行单节点部署!")
|
||||
deployVerticles(vertx, result)
|
||||
}
|
||||
|
||||
else -> {
|
||||
logger.info("进行集群部署!")
|
||||
Vertx.clusteredVertx(vertxOptions) { res: AsyncResult<Vertx?> ->
|
||||
if (res.succeeded()) {
|
||||
val vertxClustered = res.result()
|
||||
deployVerticles(vertxClustered!!, result)
|
||||
} else {
|
||||
logger.info("尝试集群部署失败!进行单节点部署")
|
||||
deployVerticles(vertx, result)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 全局定时任务
|
||||
*/
|
||||
private fun globalTask() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 部署 verticle
|
||||
*/
|
||||
private fun deployVerticles(vertx: Vertx, result: JsonObject) {
|
||||
logger.info("全局变量:vertx.isNativeTransportEnabled:${vertx.isNativeTransportEnabled}")
|
||||
val record = result.getString("recroot", "/mnts/record/") + File.separator // 截图根目录
|
||||
logger.info("截图根目录:$record")
|
||||
fs!!.exists(record)!!.onSuccess { exit ->
|
||||
if (!exit) {
|
||||
fs!!.mkdirs(record)?.onFailure { fail ->
|
||||
logger.info("创建 $record 文件夹故障:", fail)
|
||||
}
|
||||
}
|
||||
}?.onFailure { fail ->
|
||||
logger.info("$record 文件夹故障:", fail)
|
||||
}
|
||||
|
||||
vertx.deployVerticle({ SqlFactoryVerticle() }, DeploymentOptions().setInstances(cpuNum).setConfig(result))
|
||||
.onSuccess {
|
||||
logger.info("部署 SqlFactoryVerticle 成功!")
|
||||
globalTask()
|
||||
}
|
||||
.onFailure { fail -> logger.error("创建 SqlFactoryVerticle 故障", fail) }
|
||||
|
||||
vertx.deployVerticle({ MonitorVerticle() }, DeploymentOptions().setInstances(cpuNum).setConfig(result))
|
||||
.onSuccess { logger.info("部署 MonitorVerticle 成功!") }
|
||||
.onFailure { fail -> logger.error("创建 MonitorVerticle 故障", fail) }
|
||||
|
||||
vertx.deployVerticle({ WebAPIVerticle() }, DeploymentOptions().setInstances(cpuNum).setConfig(result))
|
||||
.onSuccess { logger.info("部署 WebAPIVerticle 成功!") }
|
||||
.onFailure { fail -> logger.error("创建 WebAPIVerticle 故障", fail) }
|
||||
|
||||
vertx.deployVerticle({ OrganizationVerticle() }, DeploymentOptions().setInstances(cpuNum).setConfig(result))
|
||||
.onSuccess { logger.info("部署 OrganizationVerticle 成功!") }
|
||||
.onFailure { fail -> logger.error("创建 OrganizationVerticle 故障", fail) }
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 连接数据库
|
||||
*/
|
||||
private fun exposed(result: JsonObject) {
|
||||
val sqliteJdbcurl = result.getString("sqlite_jdbcurl")
|
||||
val sqliteUser = result.getString("sqlite_user")
|
||||
val sqlitePassword = result.getString("sqlite_password")
|
||||
val dbConfig = HikariConfig().apply {
|
||||
jdbcUrl = sqliteJdbcurl
|
||||
driverClassName = "org.sqlite.JDBC"
|
||||
username = sqliteUser
|
||||
password = sqlitePassword
|
||||
minimumIdle = 2 * cpuNum
|
||||
maximumPoolSize = 5 * cpuNum
|
||||
isAutoCommit = false
|
||||
}
|
||||
val monitorUser = MonitorUser()
|
||||
val monitorUserToken = MonitorUserToken()
|
||||
val sysUser = SysUser()
|
||||
val organization = Organization()
|
||||
val device = Device()
|
||||
val deviceChannel = DeviceChannel()
|
||||
logger.info("开始创表" + LocalDateTime.now().toString())
|
||||
Database.connect(
|
||||
HikariDataSource(dbConfig)
|
||||
)
|
||||
logger.info("连接完成" + LocalDateTime.now().toString())
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
SchemaUtils.create(monitorUser, monitorUserToken, sysUser, organization, device, deviceChannel)
|
||||
SchemaUtils.createMissingTablesAndColumns(
|
||||
monitorUser,
|
||||
monitorUserToken,
|
||||
sysUser,
|
||||
organization,
|
||||
device,
|
||||
deviceChannel
|
||||
)
|
||||
logger.info("创表成功" + LocalDateTime.now().toString())
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 集群配置
|
||||
*/
|
||||
private fun clusteredOptions(memberList: List<String>, result: JsonObject): VertxOptions? {
|
||||
val hazelcastConfig = Config()
|
||||
val networkConfig = NetworkConfig().setPort(result.getInteger("cluster_port", 5701))
|
||||
.setMemcacheProtocolConfig(MemcacheProtocolConfig().setEnabled(true))
|
||||
.setRestApiConfig(RestApiConfig().setEnabled(false))
|
||||
.setOutboundPorts(listOf(0))
|
||||
.setJoin(
|
||||
JoinConfig().setMulticastConfig(MulticastConfig().setEnabled(false))
|
||||
.setTcpIpConfig(TcpIpConfig().setEnabled(true).setMembers(memberList))
|
||||
)
|
||||
.setInterfaces(InterfacesConfig().setEnabled(false))
|
||||
.setSSLConfig(SSLConfig().setEnabled(false))
|
||||
.setSocketInterceptorConfig(SocketInterceptorConfig().setEnabled(false))
|
||||
.setSymmetricEncryptionConfig(SymmetricEncryptionConfig().setEnabled(false))
|
||||
hazelcastConfig.networkConfig = networkConfig
|
||||
hazelcastConfig.managementCenterConfig = ManagementCenterConfig().setScriptingEnabled(true)
|
||||
.addTrustedInterface(result.getString("host", "localhost"))
|
||||
val mgr: ClusterManager = HazelcastClusterManager(hazelcastConfig)
|
||||
return VertxOptions().setClusterManager(mgr)
|
||||
.setEventBusOptions(EventBusOptions()
|
||||
.apply {
|
||||
host = result.getString("host", "localhost")
|
||||
isTcpFastOpen = true
|
||||
isTcpQuickAck = true
|
||||
isTcpNoDelay = true
|
||||
})
|
||||
.apply {
|
||||
preferNativeTransport = true
|
||||
internalBlockingPoolSize = 1
|
||||
maxWorkerExecuteTime = Long.MAX_VALUE
|
||||
maxWorkerExecuteTimeUnit = TimeUnit.DAYS
|
||||
workerPoolSize = if (cpuNum * 20 <= 80) 80 else cpuNum * 20
|
||||
eventBusOptions = EventBusOptions().apply {
|
||||
host = result.getString("host", "localhost")
|
||||
preferNativeTransport = true
|
||||
isTcpFastOpen = true
|
||||
isTcpQuickAck = true
|
||||
isTcpNoDelay = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
package com.hisense.dahua_video.consts
|
||||
|
||||
|
||||
/**
|
||||
* 事件总线上各地址
|
||||
*/
|
||||
enum class EventBusAddress(val address: String) {
|
||||
/**
|
||||
* 平台用户注册
|
||||
*/
|
||||
SYS_USER_SIGN_UP("MSG://EVENT/BUS/SQL/SYS/SYS_USER_SIGN_UP"),
|
||||
|
||||
/**
|
||||
* 校验用户名是否存在
|
||||
*/
|
||||
SYS_USER_CHECK("MSG://EVENT/BUS/SQL/SYS/SYS_USER_CHECK"),
|
||||
|
||||
/**
|
||||
* 校验登录
|
||||
*/
|
||||
SYS_USER_CHECK_LOGIN("MSG://EVENT/BUS/SQL/SYS/SYS_USER_CHECK_LOGIN"),
|
||||
|
||||
/**
|
||||
* 第三方平台数据录入
|
||||
*/
|
||||
SYS_MONITOR_USER_SIGN_UP("MSG://EVENT/BUS/SQL/SYS/SYS_MONITOR_USER_SIGN_UP"),
|
||||
|
||||
/**
|
||||
* 获取全量第三方用户
|
||||
*/
|
||||
SYS_MONITOR_USER_ALLMONITORUSER("MSG://EVENT/BUS/SQL/SYS/SYS_MONITOR_USER_ALLMONITORUSER"),
|
||||
|
||||
/**
|
||||
* 获取全量第三方有效token
|
||||
*/
|
||||
SYS_MONITOR_USER_ALLMONITORUSER_TOKEN("MSG://EVENT/BUS/SQL/SYS/SYS_MONITOR_USER_ALLMONITORUSER_TOKEN"),
|
||||
|
||||
/**
|
||||
* 清理失效token
|
||||
*/
|
||||
SYS_MONITOR_CLEANFAILTOKEN("MSG://EVENT/BUS/SQL/SYS/SYS_MONITOR_CLEANFAILTOKEN"),
|
||||
|
||||
/**
|
||||
* 保存新的第三方token
|
||||
*/
|
||||
SYS_MONITOR_USER_TOKEN_SAVE_NEW("MSG://EVENT/BUS/SQL/SYS/SYS_MONITOR_USER_TOKEN_SAVE_NEW"),
|
||||
|
||||
/**
|
||||
* 保活第三方token
|
||||
*/
|
||||
SYS_MONITOR_USER_TOKEN_KEEP_LIVE("MSG://EVENT/BUS/SQL/SYS/SYS_MONITOR_USER_TOKEN_KEEP_LIVE"),
|
||||
|
||||
/**
|
||||
* 同步第三方所有组织架构
|
||||
*/
|
||||
SYS_ORGANIZATION_SYNC("MSG://EVENT/BUS/SQL/SYS/SYS_ORGANIZATION_SYNC"),
|
||||
|
||||
/**
|
||||
* 同步第三方设备
|
||||
*/
|
||||
SYS_DEVICE_SYNC("MSG://EVENT/BUS/SQL/SYS/SYS_DEVICE_SYNC"),
|
||||
|
||||
/**
|
||||
*同步第三方设备通道
|
||||
*/
|
||||
SYS_DEVICE_CHANNEL_SYNC("MSG://EVENT/BUS/SQL/SYS/SYS_DEVICE_CHANNEL_SYNC")
|
||||
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package com.hisense.dahua_video.consts
|
||||
|
||||
enum class StatsInt(val value: Int) {
|
||||
/**
|
||||
* 正常
|
||||
*/
|
||||
NORMAL(1)
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
package com.hisense.dahua_video.controller
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonObject
|
||||
import io.vertx.ext.web.RoutingContext
|
||||
import java.time.LocalDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
import java.util.*
|
||||
|
||||
class CommonController(event_: EventBus?) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(CommonController::class.java)
|
||||
private var event: EventBus? = null
|
||||
|
||||
init {
|
||||
this.event = event_
|
||||
}
|
||||
|
||||
fun optionSCros(requestHandler: RoutingContext) {
|
||||
requestHandler.response()
|
||||
.putHeader("Access-Control-Allow-Credentials", "true")
|
||||
.putHeader("Access-Control-Allow-Origin", "*")
|
||||
.putHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS")
|
||||
.putHeader(
|
||||
"Access-Control-Allow-Headers",
|
||||
"authorization,Authorization,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,token,Range,range"
|
||||
)
|
||||
.putHeader("Access-Control-Max-Age", "3600")
|
||||
.putHeader("Content-Type", "text/plain; charset=utf-8")
|
||||
.putHeader("Content-Length", "0")
|
||||
.setStatusCode(204).send()
|
||||
}
|
||||
|
||||
fun getCros(requestHandler: RoutingContext) {
|
||||
val response = requestHandler.response()
|
||||
response.isChunked = true
|
||||
response
|
||||
.putHeader("Access-control-Allow-Origin", "*")
|
||||
.putHeader("Access-Control-Allow-Credentials", "true")
|
||||
.putHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS")
|
||||
.putHeader(
|
||||
"Access-Control-Allow-Headers",
|
||||
"Origin, X-Requested-With, Content-Type, Accept, Connection, User-Agent, Cookie,Content-Type"
|
||||
)
|
||||
requestHandler.next()
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验是否登录
|
||||
*/
|
||||
fun checkLogin(requestHandler: RoutingContext) {
|
||||
requestHandler.request().pause()
|
||||
val authorization = requestHandler.request().getHeader("Authorization")?.substringAfter(" ")
|
||||
|
||||
fun unAuth() {
|
||||
requestHandler.response().putHeader("WWW-Authenticate", "Basic realm=\".\"").setStatusCode(401)
|
||||
.end(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME))
|
||||
}
|
||||
when (authorization == null) {
|
||||
true -> {
|
||||
unAuth()
|
||||
}
|
||||
|
||||
else -> {
|
||||
val userInfo = String(Base64.getDecoder().decode(authorization), Charsets.UTF_8)
|
||||
val userName = userInfo.substringBefore(":")
|
||||
val password = userInfo.substringAfter(":")
|
||||
val body = JsonObject().put("userName", userName).put("password", password)
|
||||
event!!.request<Int>(EventBusAddress.SYS_USER_CHECK_LOGIN.address, body) {
|
||||
if (it.succeeded() && it.result().body() != -1) {
|
||||
requestHandler.next()
|
||||
requestHandler.request().resume()
|
||||
} else {
|
||||
unAuth()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
package com.hisense.dahua_video.controller
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.core.buffer.Buffer
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.file.FileSystem
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonObject
|
||||
import io.vertx.ext.web.RoutingContext
|
||||
import io.vertx.ext.web.client.WebClient
|
||||
import io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine
|
||||
import java.time.LocalDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
|
||||
/**
|
||||
* 平台主页控制器
|
||||
*/
|
||||
class IndexController(
|
||||
vertx: Vertx,
|
||||
templateEngine: ThymeleafTemplateEngine?
|
||||
) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(IndexController::class.java)
|
||||
var templateEngine: ThymeleafTemplateEngine? = null
|
||||
private var fs: FileSystem? = null
|
||||
private var event: EventBus? = null
|
||||
private var vertx: Vertx
|
||||
private var client: WebClient? = null
|
||||
|
||||
init {
|
||||
this.vertx = vertx
|
||||
this.fs = this.vertx.fileSystem()
|
||||
this.event = this.vertx.eventBus()
|
||||
this.templateEngine = templateEngine
|
||||
client = WebClient.create(this.vertx)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 首页
|
||||
*/
|
||||
fun index(requestHandler: RoutingContext) {
|
||||
val data = JsonObject().put(
|
||||
"msg", "当前日期:${LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE)}"
|
||||
)
|
||||
templateEngine!!.render(
|
||||
data, "templates/index.html"
|
||||
).onSuccess { success: Buffer? ->
|
||||
requestHandler.response().putHeader("Content-Type", "text/html").end(success)
|
||||
}.onFailure { fail: Throwable ->
|
||||
requestHandler.fail(fail)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 注册表单
|
||||
*/
|
||||
fun sign_up(requestHandler: RoutingContext) {
|
||||
val jsonObject = JsonObject()
|
||||
jsonObject.put("code", 0)
|
||||
jsonObject.put("data", LocalDateTime.now().toString())
|
||||
val body = requestHandler.body().asJsonObject()
|
||||
logger.info("注册表单:${body.encode()}")
|
||||
event!!.publish(EventBusAddress.SYS_USER_SIGN_UP.address, body)
|
||||
requestHandler
|
||||
.response()
|
||||
.putHeader("content-type", "text/html")
|
||||
.end(jsonObject.encode())
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验用户是否存在
|
||||
*/
|
||||
fun check(requestHandler: RoutingContext) {
|
||||
val jsonObject = JsonObject()
|
||||
jsonObject.put("code", 0)
|
||||
val body = requestHandler.body().asJsonObject()
|
||||
logger.info("注册表单:${body.encode()}")
|
||||
event!!.request<Int>(EventBusAddress.SYS_USER_CHECK.address, body) {
|
||||
if (it.succeeded()) {
|
||||
jsonObject.put("data", it.result().body())
|
||||
requestHandler
|
||||
.response()
|
||||
.putHeader("content-type", "text/html")
|
||||
.end(jsonObject.encode())
|
||||
} else {
|
||||
jsonObject.put("code", -1)
|
||||
requestHandler.response()
|
||||
.putHeader("content-type", "text/html")
|
||||
.end(jsonObject.encode())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
package com.hisense.dahua_video.controller
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonObject
|
||||
import io.vertx.ext.web.RoutingContext
|
||||
import io.vertx.ext.web.client.WebClient
|
||||
import io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine
|
||||
import java.time.LocalDateTime
|
||||
import java.util.*
|
||||
|
||||
class MonitorUserController(
|
||||
vertx: Vertx,
|
||||
templateEngine: ThymeleafTemplateEngine?
|
||||
) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(MonitorUserController::class.java)
|
||||
var templateEngine: ThymeleafTemplateEngine? = null
|
||||
private var event: EventBus? = null
|
||||
private var vertx: Vertx
|
||||
private var client: WebClient? = null
|
||||
|
||||
init {
|
||||
this.vertx = vertx
|
||||
this.event = this.vertx.eventBus()
|
||||
this.templateEngine = templateEngine
|
||||
client = WebClient.create(this.vertx)
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册第三方用户表单
|
||||
*/
|
||||
fun sign_up(requestHandler: RoutingContext) {
|
||||
val jsonObject = JsonObject()
|
||||
jsonObject.put("code", 0)
|
||||
jsonObject.put("data", LocalDateTime.now().toString())
|
||||
val authorization = requestHandler.request().getHeader("Authorization")?.substringAfter(" ")
|
||||
val userInfo = String(Base64.getDecoder().decode(authorization), Charsets.UTF_8)
|
||||
val userName = userInfo.substringBefore(":")
|
||||
val param = JsonObject().put("userName", userName)
|
||||
val body = requestHandler.body().asJsonObject()
|
||||
event!!.request<Int>(EventBusAddress.SYS_USER_CHECK.address, param) {
|
||||
if (it.succeeded()) {
|
||||
body.put("userId", it.result().body())
|
||||
logger.info("注册表单:${body.encode()}")
|
||||
event!!.publish(EventBusAddress.SYS_MONITOR_USER_SIGN_UP.address, body)
|
||||
} else {
|
||||
logger.info("查用户异常")
|
||||
}
|
||||
}
|
||||
requestHandler
|
||||
.response()
|
||||
.putHeader("content-type", "text/html")
|
||||
.end(jsonObject.encode())
|
||||
}
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
package com.hisense.dahua_video.dao
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Caffeine
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.modules.device.Device
|
||||
import com.hisense.dahua_video.modules.device.DeviceChannel
|
||||
import com.hisense.dahua_video.modules.device.Organization
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
||||
import org.jetbrains.exposed.sql.addLogger
|
||||
import org.jetbrains.exposed.sql.batchInsert
|
||||
import org.jetbrains.exposed.sql.select
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import java.util.concurrent.TimeUnit
|
||||
import java.util.stream.Collectors
|
||||
|
||||
class DeviceChannelDao(
|
||||
event_: EventBus?
|
||||
) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(DeviceChannelDao::class.java)
|
||||
private val cpuNum = Runtime.getRuntime().availableProcessors()
|
||||
private var event: EventBus? = null
|
||||
// private val organization = Organization()
|
||||
private val device = Device()
|
||||
private val deviceChannel = DeviceChannel()
|
||||
|
||||
init {
|
||||
this.event = event_
|
||||
saveOrUpdateDeviceChannel()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存或更新设备
|
||||
*/
|
||||
private fun saveOrUpdateDeviceChannel() {
|
||||
val deviceCaffeineClient = Caffeine.newBuilder()
|
||||
.expireAfterAccess(1, TimeUnit.MINUTES) // 缓存1分钟
|
||||
.maximumSize(10240)
|
||||
.initialCapacity(cpuNum * 10).build<String, Int> { key ->
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction device.slice(device.id).select { device.deviceId eq key }.withDistinct()
|
||||
.map { it[device.id] }.firstOrNull()?.value ?: return@transaction -1
|
||||
}
|
||||
return@build value
|
||||
} // 设备缓存
|
||||
|
||||
val deviceChannelCaffeineClient = Caffeine.newBuilder()
|
||||
.expireAfterAccess(1, TimeUnit.MINUTES) // 缓存1分钟
|
||||
.maximumSize(10240)
|
||||
.initialCapacity(cpuNum * 10).build<String, Int> { key ->
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction deviceChannel.slice(deviceChannel.id).select { deviceChannel.channelId eq key }
|
||||
.withDistinct()
|
||||
.map { it[deviceChannel.id] }.firstOrNull()?.value ?: return@transaction -1
|
||||
}
|
||||
return@build value
|
||||
} // 设备通道缓存
|
||||
|
||||
event!!.consumer<JsonArray>(EventBusAddress.SYS_DEVICE_CHANNEL_SYNC.address)?.handler { res ->
|
||||
val message = res.body()
|
||||
val insertInfo = message.stream().filter { index ->
|
||||
index as JsonObject
|
||||
index.getInteger("nodeType") == 3 &&
|
||||
deviceCaffeineClient.get(index.getString("parentId")) != -1 &&
|
||||
deviceChannelCaffeineClient.get(index.getString("channelId")) == -1 //节点为通道类型 设备表内存在该设备 且 该设备通道未入库
|
||||
}.map {
|
||||
it as JsonObject
|
||||
it.put("deviceId", deviceCaffeineClient.get(it.getString("parentId")))
|
||||
it
|
||||
}.collect(Collectors.toList())
|
||||
logger.info("设备通道入库·${insertInfo.size}")
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
deviceChannel.batchInsert(insertInfo) { device_ ->
|
||||
this[deviceChannel.deviceId] = device_.getInteger("deviceId")
|
||||
this[deviceChannel.channelNo] = device_.getString("channelId")
|
||||
this[deviceChannel.channelId] = device_.getString("channelId")
|
||||
this[deviceChannel.name] = device_.getString("name")
|
||||
this[deviceChannel.orgCode] = device_.getString("orgCode")
|
||||
this[deviceChannel.orgType] = device_.getString("orgType")
|
||||
this[deviceChannel.online] = device_.getString("online")
|
||||
this[deviceChannel.status] = device_.getInteger("status")
|
||||
this[deviceChannel.sort] = device_.getInteger("sort")
|
||||
this[deviceChannel.cameraType] = device_.getString("cameraType")
|
||||
this[deviceChannel.cameraFunctions] = device_.getString("cameraFunctions")
|
||||
this[deviceChannel.category] = device_.getString("category")
|
||||
this[deviceChannel.isParent] = device_.getBoolean("isParent")
|
||||
this[deviceChannel.parentId] = device_.getString("parentId")
|
||||
this[deviceChannel.deviceCode] = device_.getString("deviceCode")
|
||||
this[deviceChannel.channelCode] = device_.getString("channelCode")
|
||||
this[deviceChannel.channelName] = device_.getString("channelName")
|
||||
this[deviceChannel.channelSeq] = device_.getInteger("channelSeq")
|
||||
this[deviceChannel.channelSn] = device_.getString("channelSn")
|
||||
this[deviceChannel.channelType] = device_.getString("channelType")
|
||||
this[deviceChannel.sn] = device_.getString("sn")
|
||||
this[deviceChannel.stat] = device_.getInteger("stat")
|
||||
this[deviceChannel.gpsX] = device_.getString("gpsX")
|
||||
this[deviceChannel.gpsY] = device_.getString("gpsY")
|
||||
this[deviceChannel.sn] = device_.getString("sn")
|
||||
this[deviceChannel.unitType] = device_.getString("unitType")
|
||||
this[deviceChannel.paasId] = device_.getString("paasId")
|
||||
this[deviceChannel.intelliState] = device_.getInteger("intelliState")
|
||||
this[deviceChannel.subType] = device_.getString("subType")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
package com.hisense.dahua_video.dao
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Caffeine
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.modules.device.Device
|
||||
import com.hisense.dahua_video.modules.device.Organization
|
||||
import com.hisense.dahua_video.util.DevicesManagerUtil
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
||||
import org.jetbrains.exposed.sql.addLogger
|
||||
import org.jetbrains.exposed.sql.batchInsert
|
||||
import org.jetbrains.exposed.sql.select
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import java.util.concurrent.TimeUnit
|
||||
import java.util.stream.Collectors
|
||||
|
||||
class DeviceDao(
|
||||
event_: EventBus?, vertx: Vertx
|
||||
) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(OrganizationDao::class.java)
|
||||
private val cpuNum = Runtime.getRuntime().availableProcessors()
|
||||
private var event: EventBus? = null
|
||||
private val organization = Organization()
|
||||
private var devicesManagerUtil: DevicesManagerUtil? = null
|
||||
private val device = Device()
|
||||
private var vertx: Vertx? = null
|
||||
|
||||
init {
|
||||
this.event = event_
|
||||
this.vertx = vertx
|
||||
devicesManagerUtil = DevicesManagerUtil(vertx)
|
||||
saveOrupdateDevice()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新或保存设备信息
|
||||
*/
|
||||
private fun saveOrupdateDevice() {
|
||||
val orgCaffeineClient = Caffeine.newBuilder()
|
||||
.expireAfterAccess(60, TimeUnit.MINUTES) // 缓存1分钟
|
||||
.maximumSize(10240)
|
||||
.initialCapacity(cpuNum * 10).build<String, Int> { key ->
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction organization.slice(organization.id).select { organization.orgId eq key }.withDistinct()
|
||||
.map { it[organization.id] }.firstOrNull()?.value ?: return@transaction -1
|
||||
}
|
||||
return@build value
|
||||
} // 组织缓存
|
||||
|
||||
val deviceCaffeineClient = Caffeine.newBuilder()
|
||||
.expireAfterAccess(60, TimeUnit.MINUTES) // 缓存60分钟
|
||||
.maximumSize(1024 * 1000)
|
||||
.initialCapacity(cpuNum * 10).build<String, Int> { key ->
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction device.slice(device.id).select { device.deviceId eq key }.withDistinct()
|
||||
.map { it[device.id] }.firstOrNull()?.value ?: return@transaction -1
|
||||
}
|
||||
return@build value
|
||||
} // 设备缓存
|
||||
|
||||
|
||||
val taskOrgCaffeineClient = Caffeine.newBuilder()
|
||||
.expireAfterAccess(60, TimeUnit.MINUTES) // 缓存60分钟
|
||||
.maximumSize(10240)
|
||||
.initialCapacity(cpuNum * 10).build<JsonObject, Long> { key ->
|
||||
val teskId = vertx!!.setTimer(4000) {
|
||||
event!!.request<JsonArray>(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER_TOKEN.address, JsonObject()) {
|
||||
if (it.succeeded()) {
|
||||
val tokinInfo = it.result().body().stream().filter { index ->
|
||||
index as JsonObject
|
||||
index.getString("id") == key.getString("userId") // 获取对应用户的第三方token
|
||||
}.findAny()
|
||||
tokinInfo.ifPresent { token ->
|
||||
token as JsonObject
|
||||
val monitorUserWithToken = JsonObject()
|
||||
.put("monitorDomain", token.getString("monitorDomain"))
|
||||
.put("token", token.getString("token"))
|
||||
.put("id", token.getInteger("id"))
|
||||
logger.info("==================================同步该组织(${key.getString("parentId")})的设备通道============================================")
|
||||
devicesManagerUtil!!.syncDeviceChannel(monitorUserWithToken, key.getString("parentId"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return@build teskId
|
||||
}
|
||||
|
||||
event!!.consumer<JsonArray>(EventBusAddress.SYS_DEVICE_SYNC.address)?.handler { res ->
|
||||
val message = res.body()
|
||||
val insertInfo = message.stream().filter { index ->
|
||||
index as JsonObject
|
||||
index.getInteger("nodeType") == 2 &&
|
||||
orgCaffeineClient.get(index.getString("parentId")) != -1 &&
|
||||
deviceCaffeineClient.get(index.getString("deviceId")) == -1 //节点为设备类型 组织表内存在该组织 且 该设备未入库
|
||||
}.map {
|
||||
it as JsonObject
|
||||
it.put("organizationId", orgCaffeineClient.get(it.getString("parentId")))
|
||||
it
|
||||
}.collect(Collectors.toList())
|
||||
logger.info("设备入库·${insertInfo.size}")
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
device.batchInsert(insertInfo) { device_ ->
|
||||
this[device.organizationId] = device_.getInteger("organizationId")
|
||||
this[device.nodeType] = device_.getInteger("nodeType")
|
||||
this[device.category] = device_.getString("category")
|
||||
this[device.deviceId] = device_.getString("deviceId")
|
||||
this[device.name] = device_.getString("name")
|
||||
this[device.online] = device_.getString("online")
|
||||
this[device.isParent] = device_.getBoolean("isParent")
|
||||
this[device.parentId] = device_.getString("parentId")
|
||||
this[device.orgCode] = device_.getString("orgCode")
|
||||
this[device.orgType] = device_.getString("orgType")
|
||||
this[device.deviceCode] = device_.getString("deviceCode")
|
||||
this[device.deviceName] = device_.getString("deviceName")
|
||||
this[device.sort] = device_.getInteger("sort")
|
||||
this[device.intelliFlag] = device_.getInteger("intelliFlag")
|
||||
this[device.manufacturer] = device_.getString("manufacturer")
|
||||
this[device.subType] = device_.getString("subType")
|
||||
this[device.ip] = device_.getString("ip")
|
||||
}
|
||||
}
|
||||
message.stream().forEach { index ->
|
||||
index as JsonObject
|
||||
val task = taskOrgCaffeineClient.get(
|
||||
JsonObject().put("userId", index.getString("userId")).put("parentId", index.getString("parentId"))
|
||||
)
|
||||
logger.info("同步至组织的通道task:$task")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
package com.hisense.dahua_video.dao
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.consts.StatsInt
|
||||
import com.hisense.dahua_video.modules.monitor.MonitorUser
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
||||
import org.jetbrains.exposed.sql.addLogger
|
||||
import org.jetbrains.exposed.sql.insert
|
||||
import org.jetbrains.exposed.sql.select
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import java.time.LocalDateTime
|
||||
|
||||
class MonitorUserDao(event_: EventBus?) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(MonitorUserDao::class.java)
|
||||
private var event: EventBus? = null
|
||||
|
||||
private val monitorUser = MonitorUser()
|
||||
|
||||
init {
|
||||
this.event = event_
|
||||
signUp()
|
||||
allMonitorUser()
|
||||
}
|
||||
|
||||
/**
|
||||
* 响应注册
|
||||
*/
|
||||
private fun signUp() {
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_MONITOR_USER_SIGN_UP.address)?.handler { replay ->
|
||||
val message = replay.body()
|
||||
logger.info(message.encode())
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
monitorUser.insert {
|
||||
it[monitorUser.userName] = message.getString("userName", "")
|
||||
it[monitorUser.password] = message.getString("password", "")
|
||||
it[monitorUser.createTime] = LocalDateTime.now()
|
||||
it[monitorUser.status] = StatsInt.NORMAL.value
|
||||
it[monitorUser.monitorDomain] = message.getString("monitorDomain", "")
|
||||
it[monitorUser.userId] = message.getInteger("userId")
|
||||
it[monitorUser.identifier] = message.getString("identifier")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全量第三方用户信息
|
||||
*/
|
||||
private fun allMonitorUser() {
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER.address)?.handler { replay ->
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction monitorUser
|
||||
.slice(monitorUser.id, monitorUser.userName, monitorUser.password, monitorUser.monitorDomain)
|
||||
.select { monitorUser.status eq StatsInt.NORMAL.value }
|
||||
.withDistinct()
|
||||
.map {
|
||||
JsonObject().put("userName", it[monitorUser.userName])
|
||||
.put("password", it[monitorUser.password])
|
||||
.put("monitorDomain", it[monitorUser.monitorDomain])
|
||||
.put("id", it[monitorUser.id].value)
|
||||
}
|
||||
}
|
||||
replay.reply(JsonArray(value))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新第三方用户登录时间
|
||||
*/
|
||||
private fun updateMonitorUserLoginTime() {
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER.address)?.handler { replay ->
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction monitorUser
|
||||
.slice(monitorUser.id, monitorUser.userName, monitorUser.password, monitorUser.monitorDomain)
|
||||
.select { monitorUser.status eq StatsInt.NORMAL.value }
|
||||
.withDistinct()
|
||||
.map {
|
||||
JsonObject().put("userName", it[monitorUser.userName])
|
||||
.put("password", it[monitorUser.password])
|
||||
.put("monitorDomain", it[monitorUser.monitorDomain])
|
||||
.put("id", it[monitorUser.id].value)
|
||||
}
|
||||
}
|
||||
replay.reply(JsonArray(value))
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
package com.hisense.dahua_video.dao
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.consts.StatsInt
|
||||
import com.hisense.dahua_video.modules.monitor.MonitorUser
|
||||
import com.hisense.dahua_video.modules.monitor.MonitorUserToken
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
||||
import org.jetbrains.exposed.sql.addLogger
|
||||
import org.jetbrains.exposed.sql.insert
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import org.jetbrains.exposed.sql.update
|
||||
import java.time.LocalDateTime
|
||||
|
||||
class MonitorUserTokenDao(event_: EventBus?) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(MonitorUserTokenDao::class.java)
|
||||
private var event: EventBus? = null
|
||||
|
||||
private val monitorUserToken = MonitorUserToken()
|
||||
private val monitorUser = MonitorUser()
|
||||
|
||||
init {
|
||||
this.event = event_
|
||||
saveNewToken()
|
||||
keepLiveToken()
|
||||
getAllEffectiveToken()
|
||||
cleanFailToken()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存新token
|
||||
*/
|
||||
private fun saveNewToken() {
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_MONITOR_USER_TOKEN_SAVE_NEW.address)?.handler { replay ->
|
||||
val message = replay.body()
|
||||
logger.info("saveNewToken:" + message.encode())
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
monitorUserToken.insert {
|
||||
it[monitorUserToken.token] = message.getString("token")
|
||||
it[monitorUserToken.createTime] = LocalDateTime.now()
|
||||
it[monitorUserToken.updateTime] = LocalDateTime.now()
|
||||
it[monitorUserToken.status] = StatsInt.NORMAL.value
|
||||
it[monitorUserToken.userId] = message.getInteger("userId")
|
||||
it[monitorUserToken.realm] = message.getString("realm")
|
||||
it[monitorUserToken.randomKey] = message.getString("randomKey")
|
||||
it[monitorUserToken.duration] = message.getInteger("duration")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 保活第三方token
|
||||
*/
|
||||
private fun keepLiveToken() {
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_MONITOR_USER_TOKEN_KEEP_LIVE.address)?.handler { replay ->
|
||||
val message = replay.body()
|
||||
logger.info("keepLiveToken:" + message.encode())
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
monitorUserToken.update({ monitorUserToken.token eq message.getString("token") }) {
|
||||
it[monitorUserToken.updateTime] = LocalDateTime.now()
|
||||
it[monitorUserToken.status] = StatsInt.NORMAL.value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有在有效期的token(包含域名、)
|
||||
*/
|
||||
private fun getAllEffectiveToken() {
|
||||
val sql = """
|
||||
SELECT
|
||||
token,
|
||||
userName,
|
||||
id,
|
||||
monitorDomain,
|
||||
duration
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
sys_monitor_user_token.token,
|
||||
sys_monitor_user_token.update_time,
|
||||
sys_monitor_user_token.duration,
|
||||
sys_monitor_user.userName,
|
||||
sys_monitor_user.id,
|
||||
sys_monitor_user.monitorDomain,
|
||||
( strftime( '%s', sys_monitor_user_token.update_time, 'utc' ) + sys_monitor_user_token.duration ) AS effect,
|
||||
strftime( '%s', 'now' ) AS _now
|
||||
FROM
|
||||
sys_monitor_user_token
|
||||
LEFT JOIN sys_monitor_user ON sys_monitor_user_token.monitor_user_id = sys_monitor_user.id
|
||||
WHERE
|
||||
sys_monitor_user_token._status = 1
|
||||
AND ( effect - _now ) > 0
|
||||
ORDER BY
|
||||
effect DESC
|
||||
) t
|
||||
GROUP BY
|
||||
t.userName
|
||||
ORDER BY
|
||||
strftime( '%s', t.update_time, 'utc' ) DESC;
|
||||
""".trimIndent()
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER_TOKEN.address)?.handler { replay ->
|
||||
val value = transaction {
|
||||
val temp = JsonArray()
|
||||
exec(sql) { res ->
|
||||
while (res.next()) {
|
||||
temp.add(
|
||||
JsonObject()
|
||||
.put("token", res.getString("token"))
|
||||
.put("userName", res.getString("userName"))
|
||||
.put("id", res.getInt("id"))
|
||||
.put("monitorDomain", res.getString("monitorDomain"))
|
||||
.put("duration", res.getString("duration"))
|
||||
)
|
||||
}
|
||||
}
|
||||
temp
|
||||
}
|
||||
logger.info("有效token:" + value.encode())
|
||||
replay.reply(value)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 清理失效token
|
||||
*/
|
||||
private fun cleanFailToken() {
|
||||
val sql = """
|
||||
DELETE FROM sys_monitor_user_token WHERE sys_monitor_user_token._status = 1 AND (( strftime( '%s', sys_monitor_user_token.update_time, 'utc' ) + sys_monitor_user_token.duration ) - strftime( '%s', 'now' )) < 0;
|
||||
""".trimIndent()
|
||||
event!!.consumer<JsonObject>(EventBusAddress.SYS_MONITOR_CLEANFAILTOKEN.address)?.handler {
|
||||
logger.info("清理失效token")
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
exec(sql)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
package com.hisense.dahua_video.dao
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Caffeine
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.modules.device.Organization
|
||||
import com.hisense.dahua_video.util.DevicesManagerUtil
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
||||
import org.jetbrains.exposed.sql.addLogger
|
||||
import org.jetbrains.exposed.sql.batchInsert
|
||||
import org.jetbrains.exposed.sql.select
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import java.util.concurrent.TimeUnit
|
||||
import java.util.stream.Collectors
|
||||
|
||||
class OrganizationDao(event_: EventBus?, vertx: Vertx) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(OrganizationDao::class.java)
|
||||
private val cpuNum = Runtime.getRuntime().availableProcessors()
|
||||
private var event: EventBus? = null
|
||||
private val organization = Organization()
|
||||
private var devicesManagerUtil: DevicesManagerUtil? = null
|
||||
private var vertx: Vertx? = null
|
||||
|
||||
init {
|
||||
this.event = event_
|
||||
this.vertx = vertx
|
||||
saveOrUpdateOrganization()
|
||||
devicesManagerUtil = DevicesManagerUtil(vertx)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新建或更新组织信息
|
||||
*/
|
||||
private fun saveOrUpdateOrganization() {
|
||||
val caffeineClient = Caffeine.newBuilder()
|
||||
.expireAfterAccess(1, TimeUnit.MINUTES) // 缓存1分钟
|
||||
.maximumSize(10240)
|
||||
.initialCapacity(cpuNum * 10).build<String, Int> { key ->
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction organization.slice(organization.id).select { organization.orgId eq key }.withDistinct()
|
||||
.map { it[organization.id] }.firstOrNull()?.value ?: return@transaction -1
|
||||
}
|
||||
return@build value
|
||||
} // 缓存
|
||||
|
||||
event!!.consumer<JsonArray>(EventBusAddress.SYS_ORGANIZATION_SYNC.address).handler { res ->
|
||||
val message = res.body()
|
||||
val insertInfo = message.stream().filter { index ->
|
||||
index as JsonObject
|
||||
caffeineClient.get(index.getString("id")) == -1// 表内不存在
|
||||
}.map { it as JsonObject }.collect(Collectors.toList())
|
||||
logger.info("组织入库·${insertInfo.size}")
|
||||
val re = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
organization.batchInsert(insertInfo) { organization_ ->
|
||||
this[organization.userId] = organization_.getInteger("userId")
|
||||
this[organization.orgId] = organization_.getString("id")
|
||||
this[organization.name] = organization_.getString("name")
|
||||
this[organization.memo] = organization_.getString("memo")
|
||||
this[organization.orgType] = organization_.getString("orgType")
|
||||
this[organization.isParent] = organization_.getBoolean("isParent")
|
||||
this[organization.parentId] = organization_.getString("parentId")
|
||||
this[organization.root] = organization_.getBoolean("root")
|
||||
this[organization.orgCode] = organization_.getString("orgCode")
|
||||
this[organization.orgName] = organization_.getString("orgName")
|
||||
this[organization.sort] = organization_.getInteger("sort")
|
||||
this[organization.orgSn] = organization_.getString("orgSn")
|
||||
this[organization.sn] = organization_.getString("sn")
|
||||
this[organization.subCount] = organization_.getInteger("subCount")
|
||||
this[organization.parentNodeType] = organization_.getInteger("parentNodeType")
|
||||
}
|
||||
}
|
||||
|
||||
vertx!!.setTimer(3000) {
|
||||
event!!.request<JsonArray>(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER_TOKEN.address, JsonObject()) {
|
||||
if (it.succeeded()) {
|
||||
val tokinInfo = it.result().body().stream().filter { index ->
|
||||
index as JsonObject
|
||||
index.getString("id") == message.stream().map { it_ -> it_ as JsonObject }.findFirst()?.get()
|
||||
?.getString("userId") ?: ""// 获取对应用户的第三方token
|
||||
}.findAny()
|
||||
tokinInfo.ifPresent { token ->
|
||||
token as JsonObject
|
||||
val tokenInfo = JsonObject()
|
||||
.put("monitorDomain", token.getString("monitorDomain"))
|
||||
.put("token", token.getString("token"))
|
||||
.put("id", token.getInteger("id"))
|
||||
message.stream().forEach { index ->
|
||||
index as JsonObject
|
||||
devicesManagerUtil!!.syncDevice(tokenInfo, index.getString("id"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,94 @@
|
|||
package com.hisense.dahua_video.dao
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.consts.StatsInt
|
||||
import com.hisense.dahua_video.modules.sys.SysUser
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonObject
|
||||
import org.jetbrains.exposed.sql.*
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import java.time.LocalDateTime
|
||||
|
||||
/**
|
||||
* 用户 dao
|
||||
*/
|
||||
class SysUserDao(event_: EventBus?) {
|
||||
private val logger: Logger = LoggerFactory.getLogger(SysUserDao::class.java)
|
||||
private var event: EventBus? = null
|
||||
|
||||
private val sysUser = SysUser()
|
||||
|
||||
init {
|
||||
this.event = event_
|
||||
signUp()
|
||||
check()
|
||||
checkLogin()
|
||||
}
|
||||
|
||||
/**
|
||||
* 响应注册
|
||||
*/
|
||||
private fun signUp() {
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_USER_SIGN_UP.address)?.handler { replay ->
|
||||
val message = replay.body()
|
||||
logger.info("signUp:" + message.encode())
|
||||
transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
sysUser.insert {
|
||||
it[sysUser.userName] = message.getString("userName", "")
|
||||
it[sysUser.password] = message.getString("password", "")
|
||||
it[sysUser.createTime] = LocalDateTime.now()
|
||||
it[sysUser.status] = StatsInt.NORMAL.value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验是否存在该用户 返回-1 时该用户名不存在
|
||||
*/
|
||||
private fun check() {
|
||||
event?.consumer<JsonObject>(EventBusAddress.SYS_USER_CHECK.address)?.handler { replay ->
|
||||
val message = replay.body()
|
||||
logger.info(message.encode())
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction sysUser
|
||||
.slice(sysUser.id)
|
||||
.select { sysUser.userName eq message.getString("userName", "") }
|
||||
.withDistinct()
|
||||
.map { it[sysUser.id] }
|
||||
.firstOrNull()?.value ?: return@transaction -1
|
||||
}
|
||||
replay.reply(value)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验用户登录
|
||||
*/
|
||||
private fun checkLogin() {
|
||||
val temp = event?.consumer<JsonObject>(EventBusAddress.SYS_USER_CHECK_LOGIN.address)
|
||||
temp?.exceptionHandler {
|
||||
logger.error("注册总线异常", it)
|
||||
}
|
||||
temp?.handler { replay ->
|
||||
val message = replay.body()
|
||||
logger.info("checkLogin:" + message.encode())
|
||||
val value = transaction {
|
||||
addLogger(StdOutSqlLogger)
|
||||
return@transaction sysUser
|
||||
.slice(sysUser.id)
|
||||
.select { sysUser.userName eq message.getString("userName", "") }
|
||||
.andWhere { sysUser.password eq message.getString("password", "") }
|
||||
.withDistinct()
|
||||
.map { it[sysUser.id] }
|
||||
.firstOrNull()?.value ?: return@transaction -1
|
||||
}
|
||||
replay.reply(value)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.hisense.dahua_video.modules.device
|
||||
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
|
||||
/**
|
||||
* 设备
|
||||
*/
|
||||
class Device : IntIdTable("sys_device") {
|
||||
private val organization = Organization()
|
||||
val organizationId = integer("organization_id").references(organization.id) // 所属设备组织。
|
||||
val nodeType = integer("node_type") // 节点类型。2:设备,3:通道。
|
||||
val category = text("category") // 设备大类,参考设备大类。
|
||||
val deviceId = text("device_id").uniqueIndex() // 设备编码。
|
||||
val name = text("name") // 设备名称。
|
||||
val online = text("online") // 设备是否在线。"1":在线;"0":离线。
|
||||
val isParent = bool("is_parent") // 是否是父节点(是否有子节点),true:是父节点,false:不是父节点。
|
||||
val parentId = text("parentId") // 所属组织的ID,如果属于root节点则为""。
|
||||
val orgCode = text("org_code") // 和parentId一样。
|
||||
val orgType = text("org_type") // 组织类型,"1"-基本组织;"2~6"-逻辑组织。
|
||||
val deviceCode = text("device_code") // 设备编码。
|
||||
val deviceName = text("device_name") // 设备名称。
|
||||
val sort = integer("sort") // 排序码。
|
||||
val intelliFlag = integer("intelli_flag") // 智能状态,0:非智能 1:智能。
|
||||
val manufacturer = text("manufacturer") // 参考厂商。
|
||||
val subType = text("subType") // 参考设备小类。
|
||||
val ip = text("ip") // 设备IP。
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package com.hisense.dahua_video.modules.device
|
||||
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
|
||||
/**
|
||||
* 设备通道
|
||||
*/
|
||||
class DeviceChannel : IntIdTable("sys_device_channel") {
|
||||
private val device = Device()
|
||||
val deviceId = integer("device_id").references(device.id) // 所属设备(外键)。
|
||||
val channelNo = text("channel_no").uniqueIndex() // 通道编码
|
||||
val channelId = text("channel_id").uniqueIndex() // 通道编码 同channelNo
|
||||
val name = text("name").nullable() // 通道名称
|
||||
val orgCode = text("org_code").nullable() // 组织编码,根组织为""
|
||||
val orgType = text("org_type").nullable() // 组织类型,"1"为基本组织
|
||||
val online = text("online").nullable() // 通道是否在线。"1":在线;"0":离线
|
||||
val status = integer("status").nullable() // 通道是否在线。1:在线 0:离线
|
||||
val sort = integer("sort").nullable() // 排序码
|
||||
val cameraType = text("camera_type").nullable() // 摄像头类型,"1":枪机,"2":球机,"3":半球等
|
||||
val cameraFunctions = text("camera_functions").nullable() // 编码通道功能,一个通道如果支持多种功能,用","分隔
|
||||
val category = text("category").nullable() // 设备大类
|
||||
val isParent = bool("is_parent").nullable() // 是否是父节点(是否有子节点),true:是父节点,false:不是父节点
|
||||
val parentId = text("parent_id").nullable() // 通道所属设备编码(和设备的id相同)
|
||||
val deviceCode = text("device_code").nullable() //和parentId一样
|
||||
val channelCode = text("channel_code").nullable() // 通道编码。
|
||||
val channelName = text("channel_name").nullable() // 通道名称。
|
||||
val channelSeq = integer("channel_seq").nullable() // 通道序号,从0开始
|
||||
val channelSn = text("channel_sn").nullable() // 通道序列号。
|
||||
val channelType = text("channel_type").nullable() // 参考通道类型
|
||||
val sn = text("sn").nullable() // 通道序列号。同channelSn。
|
||||
val stat = integer("stat").nullable() //启停状态:1-启用;2-停用。
|
||||
val gpsX = text("gpsX").nullable()// 通道所在地图坐标的X值。
|
||||
val gpsY = text("gpsY").nullable() // 通道所在地图坐标的Y值。
|
||||
val unitType = text("unit_type").nullable() // 通道所属的单元类型,参考单元类型
|
||||
val paasId = text("paas_id").nullable() // 所属的paas编号,此值为paas基础平台所定义
|
||||
val intelliState = integer("intelli_state").nullable() // 智能状态,0:非智能 1:智能
|
||||
val subType = text("sub_type").nullable() // 参考设备小类
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.hisense.dahua_video.modules.device
|
||||
|
||||
import com.hisense.dahua_video.modules.monitor.MonitorUser
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
|
||||
|
||||
/**
|
||||
* 组织结构
|
||||
*/
|
||||
class Organization : IntIdTable("sys_organization") {
|
||||
private val monitorUser = MonitorUser()
|
||||
val userId = integer("monitor_user_id").references(monitorUser.id) // 归属第三方用户
|
||||
val orgId = text("org_id").uniqueIndex() // 组织id
|
||||
val name = text("name") // 组织名称
|
||||
val memo = text("memo").nullable() // 备注信息
|
||||
val orgType = text("org_type") // 组织类型,"1"为基本组织,"2"~"6"为业务组织
|
||||
val isParent = bool("is_parent") // 是否是父节点(是否有子节点),true:是父节点,false:不是父节点
|
||||
val parentId = text("parent_id") // 父节点ID,如果父节点是root节点则为""
|
||||
val root = bool("root") // 是否是根节点,true:是根节点,false:不是根节点
|
||||
val orgCode = text("org_code") // 父级组织编码,和parentId一样
|
||||
val orgName = text("org_name") // 组织名称。
|
||||
val sort = integer("sort") // 排序码
|
||||
val orgSn = text("orgSn") // 组织自定义编码,通常用于国标编码
|
||||
val sn = text("sn") // 和orgSn一样
|
||||
val subCount = integer("sub_count") // 一级子节点数量。
|
||||
val parentNodeType = integer("parent_node_type").nullable() // 父节点类型:1-组织;2-设备。
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.hisense.dahua_video.modules.monitor
|
||||
|
||||
import com.hisense.dahua_video.modules.sys.SysUser
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
import org.jetbrains.exposed.sql.javatime.datetime
|
||||
|
||||
/**
|
||||
* 第三方视频管理平台用户
|
||||
*/
|
||||
class MonitorUser : IntIdTable("sys_monitor_user") {
|
||||
private val sysUser = SysUser() // 所属用户
|
||||
val userName = text("userName").uniqueIndex() // 用户登录账户
|
||||
val password = text("password") // 第三方平台密码
|
||||
val monitorDomain = text("monitorDomain") // 管理平台域
|
||||
val createTime = datetime("create_time")
|
||||
val loginTime = datetime("login_time").nullable()
|
||||
val status = integer("_status")
|
||||
val userId = integer("sys_user_id").references(sysUser.id) // 归属用户
|
||||
val identifier = text("identifier") // 标识名称
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.hisense.dahua_video.modules.monitor
|
||||
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
import org.jetbrains.exposed.sql.javatime.datetime
|
||||
|
||||
|
||||
/**
|
||||
* 平第三方台返回的token
|
||||
*/
|
||||
class MonitorUserToken : IntIdTable("sys_monitor_user_token") {
|
||||
private val monitorUser = MonitorUser()
|
||||
val token = text("token") // 第三方token
|
||||
val createTime = datetime("create_time") // 创建时间
|
||||
val updateTime = datetime("update_time") // 更新时间
|
||||
val status = integer("_status") // 是否可用
|
||||
val userId = integer("monitor_user_id").references(monitorUser.id) // 归属第三方用户
|
||||
val realm = text("realm") // 获取token的返回参数
|
||||
val randomKey = text("random_key") // 获取token的返回参数
|
||||
val duration = integer("duration") // token有效时长
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
/**
|
||||
* 第三方平台(大华)表
|
||||
*/
|
||||
package com.hisense.dahua_video.modules.monitor;
|
|
@ -0,0 +1,16 @@
|
|||
package com.hisense.dahua_video.modules.sys
|
||||
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
import org.jetbrains.exposed.sql.javatime.datetime
|
||||
|
||||
/**
|
||||
* 平台用户表
|
||||
*/
|
||||
class SysUser : IntIdTable("sys_user") {
|
||||
val userName = text("userName").uniqueIndex() // 用户登录账户
|
||||
val password = text("password") // 平台密码
|
||||
val createTime = datetime("create_time")
|
||||
val loginTime = datetime("login_time").nullable()
|
||||
val status = integer("_status")
|
||||
val loginFailTime = datetime("login_fail_time").nullable() // 上次登录失败时间
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
/**
|
||||
* 平台系统表
|
||||
*/
|
||||
package com.hisense.dahua_video.modules.sys;
|
|
@ -0,0 +1,243 @@
|
|||
package com.hisense.dahua_video.util
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import io.vertx.ext.web.client.WebClient
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
import java.util.stream.Collectors
|
||||
|
||||
|
||||
/**
|
||||
* 第三方设备管理
|
||||
*/
|
||||
class DevicesManagerUtil(vertx: Vertx) {
|
||||
private val logger = LoggerFactory.getLogger(MonitorSessionUtil::class.java)
|
||||
private val cpuNum = Runtime.getRuntime().availableProcessors()
|
||||
|
||||
private var vertx: Vertx
|
||||
private var event: EventBus? = null
|
||||
private var client: WebClient? = null
|
||||
|
||||
init {
|
||||
this.vertx = vertx
|
||||
this.event = this.vertx.eventBus()
|
||||
client = WebClient.create(this.vertx)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 所有第三方用户同步组织架构 尝试全量同步
|
||||
*/
|
||||
fun allAuthorize() {
|
||||
event!!.request<JsonArray>(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER_TOKEN.address, JsonObject()) {
|
||||
if (it.succeeded()) {
|
||||
it.result().body().stream().forEach { index ->
|
||||
index as JsonObject
|
||||
syncOrganization(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 同步第三方组织架构
|
||||
*/
|
||||
fun syncOrganization(monitorUserWithToken: JsonObject) {
|
||||
val port = monitorUserWithToken.getString("monitorDomain").substringAfterLast(":").toInt()
|
||||
var domain = monitorUserWithToken.getString("monitorDomain").substringBeforeLast(":").substringAfterLast("/")
|
||||
val tokenString = monitorUserWithToken.getString("token")
|
||||
val userId = monitorUserWithToken.getInteger("id")
|
||||
val pageSize = cpuNum * 10
|
||||
var allCount = AtomicInteger(0)
|
||||
|
||||
/**
|
||||
* 获取下级组织 (参数传空字符时为获取第三方平台根组织)
|
||||
*/
|
||||
fun getOrgenization(orgId: String, page: Int) {
|
||||
val getOrgenizationUrl =
|
||||
"/videoService/devicesManager/deviceTree?id=$orgId&nodeType=1&typeCode=01&page=$page&pageSize=$pageSize"
|
||||
logger.info("获取组织url:$getOrgenizationUrl")
|
||||
client!!.get(port, domain, getOrgenizationUrl)
|
||||
.putHeader("X-Subject-Token", tokenString)
|
||||
.send()
|
||||
.onSuccess { res ->
|
||||
val result = res.bodyAsJsonObject()
|
||||
logger.info("组织信息 statusCode:" + res.statusCode())
|
||||
when (res.statusCode()) {
|
||||
200 -> { // 成功
|
||||
logger.info("$orgId 组织信息:$result")
|
||||
val nextPage = result.getInteger("nextPage", -1)
|
||||
val resultResult = result.getJsonArray("results") // 获取下级组织
|
||||
allCount.getAndAdd(resultResult.size())
|
||||
event!!.publish(
|
||||
EventBusAddress.SYS_ORGANIZATION_SYNC.address,
|
||||
JsonArray(resultResult.stream().map {
|
||||
it as JsonObject
|
||||
it.put("userId", userId)
|
||||
it
|
||||
}.collect(Collectors.toList()))
|
||||
) // 入库消息
|
||||
|
||||
resultResult.stream().filter { index -> // 过滤出存在下级组织的组织
|
||||
index as JsonObject
|
||||
index.getBoolean("isParent", false)
|
||||
}.forEach { index -> // 对下级组织进行
|
||||
index as JsonObject
|
||||
GlobalScope.launch(Dispatchers.IO) { // 使用协程
|
||||
getOrgenization(index.getString("id"), 1) // 递归调用获取下级组织
|
||||
}
|
||||
}
|
||||
if (nextPage != -1) {
|
||||
GlobalScope.launch(Dispatchers.IO) {// 使用协程
|
||||
getOrgenization(orgId, nextPage) // 递归调用本组织下级组织
|
||||
}
|
||||
} else {
|
||||
logger.info("组织完成本级分页!!!$orgId 总数据量:${allCount.get()}")
|
||||
}
|
||||
}
|
||||
|
||||
else -> { // 失败
|
||||
logger.info("组织同步失败 $orgId")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
.onFailure { fail ->
|
||||
logger.error("获取组织失败$getOrgenizationUrl", fail)
|
||||
}
|
||||
}
|
||||
getOrgenization("", 1) // 根组织开始递归
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 同步设备
|
||||
*/
|
||||
fun syncDevice(monitorUserWithToken: JsonObject, orgId: String) {
|
||||
val port = monitorUserWithToken.getString("monitorDomain").substringAfterLast(":").toInt()
|
||||
var domain = monitorUserWithToken.getString("monitorDomain").substringBeforeLast(":").substringAfterLast("/")
|
||||
val tokenString = monitorUserWithToken.getString("token")
|
||||
val userId = monitorUserWithToken.getInteger("id")
|
||||
val pageSize = cpuNum * 10
|
||||
var allCount = AtomicInteger(0)
|
||||
|
||||
/**
|
||||
* 获取第三方设备
|
||||
*/
|
||||
fun syncDeviceAction(orgId: String, page: Int) {
|
||||
val getDeviceUrl =
|
||||
"/videoService/devicesManager/deviceTree?id=$orgId&nodeType=1&typeCode=01;1;ALL&page=$page&pageSize=$pageSize"
|
||||
logger.info("获取设备url:$getDeviceUrl")
|
||||
client!!.get(port, domain, getDeviceUrl)
|
||||
.putHeader("X-Subject-Token", tokenString)
|
||||
.send()
|
||||
.onSuccess { res ->
|
||||
val result = res.bodyAsJsonObject()
|
||||
logger.info("设备信息 statusCode:" + res.statusCode())
|
||||
when (res.statusCode()) {
|
||||
200 -> {
|
||||
val resultResult = result.getJsonArray("results") // 获取下级组织
|
||||
val nextPage = result.getInteger("nextPage", -1)
|
||||
allCount.getAndAdd(resultResult.size())
|
||||
event!!.publish(
|
||||
EventBusAddress.SYS_DEVICE_SYNC.address,
|
||||
JsonArray(resultResult.stream().map {
|
||||
it as JsonObject
|
||||
it.put("userId", userId)
|
||||
it
|
||||
}.collect(Collectors.toList()))
|
||||
) // 入库消息
|
||||
|
||||
if (nextPage != -1) {
|
||||
GlobalScope.launch(Dispatchers.IO) {// 使用协程
|
||||
syncDeviceAction(orgId, nextPage) // 递归调用本组织设备
|
||||
}
|
||||
} else {
|
||||
logger.info("设备完成本级分页!!!$orgId 总数据量:${allCount.get()}")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else -> {
|
||||
logger.info("组织设备失败 $orgId")
|
||||
}
|
||||
}
|
||||
}
|
||||
.onFailure { fail ->
|
||||
logger.error("获取设备失败$getDeviceUrl", fail)
|
||||
}
|
||||
}
|
||||
|
||||
syncDeviceAction(orgId, 1) // 分页获取本组织下的设备
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步该区域设备通道
|
||||
*/
|
||||
fun syncDeviceChannel(monitorUserWithToken: JsonObject, orgId: String) {
|
||||
val port = monitorUserWithToken.getString("monitorDomain").substringAfterLast(":").toInt()
|
||||
var domain = monitorUserWithToken.getString("monitorDomain").substringBeforeLast(":").substringAfterLast("/")
|
||||
val tokenString = monitorUserWithToken.getString("token")
|
||||
val userId = monitorUserWithToken.getInteger("id")
|
||||
val pageSize = cpuNum * 10
|
||||
var allCount = AtomicInteger(0)
|
||||
|
||||
|
||||
fun syncDeviceChannelAction(orgId: String, page: Int) {
|
||||
val getDeviceChannelUrl =
|
||||
"/videoService/devicesManager/deviceTree?id=$orgId&nodeType=1&typeCode=01;0;ALL;ALL&page=$page&pageSize=$pageSize"
|
||||
logger.info("获取设备通道url:$getDeviceChannelUrl")
|
||||
client!!.get(port, domain, getDeviceChannelUrl)
|
||||
.putHeader("X-Subject-Token", tokenString)
|
||||
.send()
|
||||
.onSuccess { res ->
|
||||
val result = res.bodyAsJsonObject()
|
||||
logger.info("设备通道信息 statusCode:" + res.statusCode())
|
||||
when (res.statusCode()) {
|
||||
200 -> {
|
||||
val resultResult = result.getJsonArray("results") // 获取下级组织
|
||||
val nextPage = result.getInteger("nextPage", -1)
|
||||
allCount.getAndAdd(resultResult.size())
|
||||
event!!.publish(
|
||||
EventBusAddress.SYS_DEVICE_CHANNEL_SYNC.address,
|
||||
JsonArray(resultResult.stream().map {
|
||||
it as JsonObject
|
||||
it.put("userId", userId)
|
||||
it
|
||||
}.collect(Collectors.toList()))
|
||||
) // 入库消息
|
||||
|
||||
if (nextPage != -1) {
|
||||
GlobalScope.launch(Dispatchers.IO) {// 使用协程
|
||||
syncDeviceChannelAction(orgId, nextPage) // 递归调用本组织设备
|
||||
}
|
||||
} else {
|
||||
logger.info("设备完成本级分页!!!$orgId 总数据量:${allCount.get()}")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else -> {
|
||||
logger.info("组织设备失败 $orgId")
|
||||
}
|
||||
}
|
||||
}
|
||||
.onFailure { fail ->
|
||||
logger.error("获取设备失败$getDeviceChannelUrl", fail)
|
||||
}
|
||||
}
|
||||
syncDeviceChannelAction(orgId, 1)
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,184 @@
|
|||
package com.hisense.dahua_video.util
|
||||
|
||||
import com.hazelcast.internal.util.MD5Util
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonArray
|
||||
import io.vertx.core.json.JsonObject
|
||||
import io.vertx.ext.web.client.WebClient
|
||||
|
||||
|
||||
/**
|
||||
* 全局第三方会话管理工具
|
||||
*/
|
||||
class MonitorSessionUtil(vertx: Vertx) {
|
||||
private val logger = LoggerFactory.getLogger(MonitorSessionUtil::class.java)
|
||||
|
||||
private var vertx: Vertx
|
||||
private var event: EventBus? = null
|
||||
private var client: WebClient? = null
|
||||
private var devicesManagerUtil: DevicesManagerUtil? = null
|
||||
|
||||
init {
|
||||
this.vertx = vertx
|
||||
this.event = this.vertx.eventBus()
|
||||
client = WebClient.create(this.vertx)
|
||||
devicesManagerUtil = DevicesManagerUtil(this.vertx)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 所有第三方用户创建会话
|
||||
*/
|
||||
fun allAuthorize() {
|
||||
event!!.request<JsonArray>(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER.address, JsonObject()) {
|
||||
if (it.succeeded()) {
|
||||
it.result().body().stream().forEach { index ->
|
||||
index as JsonObject
|
||||
authorize(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建会话 第一步骤
|
||||
*/
|
||||
private fun authorize(monitorUser: JsonObject) {
|
||||
logger.info("authorize:" + monitorUser.encode())
|
||||
val port = monitorUser.getString("monitorDomain").substringAfterLast(":").toInt()
|
||||
var domain = monitorUser.getString("monitorDomain").substringBeforeLast(":").substringAfterLast("/")
|
||||
val loginUrl = "/videoService/accounts/authorize"
|
||||
val parm = JsonObject().put("userName", monitorUser.getString("userName")).put("clientType", "winpc")
|
||||
logger.info("domain: $domain port:$port")
|
||||
client!!.post(port, domain, loginUrl)
|
||||
.putHeader("Content-Type", "application/json")
|
||||
.sendJson(parm)
|
||||
.onSuccess { res ->
|
||||
logger.info("statusCode:" + res.statusCode())
|
||||
val result = res.bodyAsJsonObject()
|
||||
logger.info("body:" + result.encode())
|
||||
monitorUser.put("randomKey", result.getValue("randomKey"))
|
||||
monitorUser.put("realm", result.getValue("realm"))
|
||||
monitorUser.put("encryptType", result.getValue("encryptType"))
|
||||
getToken(monitorUser)
|
||||
}
|
||||
.onFailure {
|
||||
logger.error("创建会话失败", it)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 第二步骤 获取token
|
||||
*/
|
||||
private fun getToken(monitorUser: JsonObject) {
|
||||
logger.info("getToken:" + monitorUser.encode())
|
||||
var sigin = MD5Util.toMD5String(monitorUser.getString("password"))
|
||||
sigin = MD5Util.toMD5String(monitorUser.getString("userName") + sigin)
|
||||
sigin = MD5Util.toMD5String(sigin)
|
||||
sigin = MD5Util.toMD5String(monitorUser.getString("userName") + ":" + monitorUser.getString("realm") + ":" + sigin)
|
||||
sigin = MD5Util.toMD5String(sigin + ":" + monitorUser.getString("randomKey"))
|
||||
|
||||
val port = monitorUser.getString("monitorDomain").substringAfterLast(":").toInt()
|
||||
var domain = monitorUser.getString("monitorDomain").substringBeforeLast(":").substringAfterLast("/")
|
||||
val loginUrl = "/videoService/accounts/authorize"
|
||||
logger.info("domain: $domain port:$port")
|
||||
val parm = JsonObject()
|
||||
.put("userName", monitorUser.getString("userName"))
|
||||
.put("clientType", "winpc")
|
||||
.put("randomKey", monitorUser.getValue("randomKey"))
|
||||
.put("realm", monitorUser.getValue("realm"))
|
||||
.put("encryptType", monitorUser.getValue("encryptType"))
|
||||
.put("signature", sigin)
|
||||
client!!.post(port, domain, loginUrl)
|
||||
.putHeader("Content-Type", "application/json")
|
||||
.sendJson(parm)
|
||||
.onSuccess { res ->
|
||||
val result = res.bodyAsJsonObject()
|
||||
logger.info("statusCode:" + res.statusCode())
|
||||
logger.info("body:" + result.encode())
|
||||
val newToken = JsonObject()
|
||||
.put("token", result.getString("token"))
|
||||
.put("userId", monitorUser.getInteger("id"))
|
||||
.put("realm", monitorUser.getValue("realm"))
|
||||
.put("randomKey", monitorUser.getValue("randomKey"))
|
||||
.put("duration", result.getInteger("duration"))
|
||||
event!!.publish(EventBusAddress.SYS_MONITOR_USER_TOKEN_SAVE_NEW.address, newToken)
|
||||
keepLiveToken(newToken, monitorUser)
|
||||
}
|
||||
.onFailure {
|
||||
logger.error("获取token失败", it)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 第三步骤 定时刷新token
|
||||
*/
|
||||
private fun keepLiveToken(token: JsonObject, monitorUser: JsonObject) {
|
||||
val time = ((token.getLong("duration") * 0.75) * 1000).toLong()
|
||||
logger.info("token保活时间间隔:$time 毫秒")
|
||||
|
||||
val syncOrganizationTaskId = syncOrganization(token, monitorUser)
|
||||
|
||||
val keepLiveTokenTaskId = vertx.setPeriodic(time) {
|
||||
logger.info("刷新token!!!")
|
||||
val port = monitorUser.getString("monitorDomain").substringAfterLast(":").toInt()
|
||||
var domain = monitorUser.getString("monitorDomain").substringBeforeLast(":").substringAfterLast("/")
|
||||
val keepLiveTokenUrl = "/videoService/accounts/token/keepalive"
|
||||
val tokenString = token.getString("token")
|
||||
val parm = JsonObject()
|
||||
.put("token", tokenString)
|
||||
client!!.put(port, domain, keepLiveTokenUrl)
|
||||
.putHeader("X-Subject-Token", tokenString)
|
||||
.putHeader("Content-Type", "application/json")
|
||||
.sendJson(parm)
|
||||
.onSuccess { res ->
|
||||
val result = res.bodyAsString()
|
||||
logger.info("statusCode:" + res.statusCode())
|
||||
logger.info("body:$result")
|
||||
when (res.statusCode()) {
|
||||
200 -> {
|
||||
event!!.publish(EventBusAddress.SYS_MONITOR_USER_TOKEN_KEEP_LIVE.address, token)
|
||||
}
|
||||
|
||||
else -> {
|
||||
vertx.cancelTimer(it)
|
||||
vertx.cancelTimer(syncOrganizationTaskId)
|
||||
}
|
||||
}
|
||||
}
|
||||
.onFailure { fail ->
|
||||
logger.error("token保活失败", fail)
|
||||
vertx.cancelTimer(it)
|
||||
vertx.cancelTimer(syncOrganizationTaskId)
|
||||
}
|
||||
logger.info("完成保活token")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 同步该第三方用户的组织
|
||||
*/
|
||||
private fun syncOrganization(token: JsonObject, monitorUser: JsonObject): Long {
|
||||
devicesManagerUtil!!.syncOrganization(
|
||||
JsonObject()
|
||||
.put("monitorDomain", monitorUser.getString("monitorDomain"))
|
||||
.put("token", token.getString("token"))
|
||||
.put("id", monitorUser.getInteger("id"))
|
||||
) // 尝试同步该用户对应组织
|
||||
val syncOrganizationTaskId = vertx.setPeriodic(6 * 60 * 60 * 1000) { // 每间隔6小时进行一次全量组织同步与设备同步
|
||||
logger.info("--------------------------全量组织同步---------------------")
|
||||
devicesManagerUtil!!.syncOrganization(
|
||||
JsonObject()
|
||||
.put("monitorDomain", monitorUser.getString("monitorDomain"))
|
||||
.put("token", token.getString("token"))
|
||||
.put("id", monitorUser.getInteger("id"))
|
||||
) // 尝试同步该用户对应组织
|
||||
}
|
||||
return syncOrganizationTaskId
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package com.hisense.dahua_video.verticle
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.util.MonitorSessionUtil
|
||||
import io.vertx.core.Promise
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.file.FileSystem
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.kotlin.coroutines.CoroutineVerticle
|
||||
|
||||
|
||||
/**
|
||||
* 对接第三方工具端点
|
||||
*/
|
||||
class MonitorVerticle : CoroutineVerticle() {
|
||||
private val logger = LoggerFactory.getLogger(MonitorVerticle::class.java)
|
||||
|
||||
var event: EventBus? = null
|
||||
var fs: FileSystem? = null
|
||||
|
||||
override fun start(startFuture: Promise<Void>?) {
|
||||
event = vertx.eventBus()
|
||||
fs = vertx.fileSystem()
|
||||
var shareDate = vertx.sharedData()
|
||||
shareDate.getLocalLock(EventBusAddress.SYS_MONITOR_USER_ALLMONITORUSER.address)
|
||||
.onSuccess {
|
||||
val monitorSessionUtil = MonitorSessionUtil(this.vertx)
|
||||
monitorSessionUtil.allAuthorize()
|
||||
logger.info("monitorSessionUtil 创建成功!")
|
||||
}
|
||||
startFuture?.complete()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package com.hisense.dahua_video.verticle
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.util.DevicesManagerUtil
|
||||
import io.vertx.core.Promise
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.file.FileSystem
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.kotlin.coroutines.CoroutineVerticle
|
||||
|
||||
|
||||
/**
|
||||
* 第三方组织同步端点
|
||||
*/
|
||||
class OrganizationVerticle : CoroutineVerticle() {
|
||||
private val logger = LoggerFactory.getLogger(OrganizationVerticle::class.java)
|
||||
|
||||
var event: EventBus? = null
|
||||
var fs: FileSystem? = null
|
||||
|
||||
override fun start(startFuture: Promise<Void>?) {
|
||||
event = vertx.eventBus()
|
||||
fs = vertx.fileSystem()
|
||||
var shareDate = vertx.sharedData()
|
||||
// shareDate.getLocalLock(EventBusAddress.SYS_ORGANIZATION_SYNC.address)
|
||||
// .onSuccess {
|
||||
// val devicesManagerUtil = DevicesManagerUtil(vertx)
|
||||
// logger.info("devicesManagerUtil 创建成功!")
|
||||
// }
|
||||
startFuture?.complete()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.hisense.dahua_video.verticle
|
||||
|
||||
import com.hisense.dahua_video.consts.EventBusAddress
|
||||
import com.hisense.dahua_video.dao.*
|
||||
import io.vertx.core.Promise
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.file.FileSystem
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.core.json.JsonObject
|
||||
import io.vertx.kotlin.coroutines.CoroutineVerticle
|
||||
|
||||
|
||||
/**
|
||||
* 数据库工厂端点
|
||||
*/
|
||||
class SqlFactoryVerticle : CoroutineVerticle() {
|
||||
private val logger = LoggerFactory.getLogger(SqlFactoryVerticle::class.java)
|
||||
|
||||
var event: EventBus? = null
|
||||
var fs: FileSystem? = null
|
||||
|
||||
|
||||
override fun start(startFuture: Promise<Void>?) {
|
||||
event = vertx.eventBus()
|
||||
fs = vertx.fileSystem()
|
||||
var shareDate = vertx.sharedData()
|
||||
shareDate.getLocalLock(EventBusAddress.SYS_USER_SIGN_UP.address)
|
||||
.onSuccess { val sysUserDao = SysUserDao(this.event) }
|
||||
shareDate.getLocalLock(EventBusAddress.SYS_MONITOR_USER_SIGN_UP.address)
|
||||
.onSuccess { val monitorUserDao = MonitorUserDao(this.event) }
|
||||
shareDate.getLocalLock(EventBusAddress.SYS_MONITOR_USER_TOKEN_SAVE_NEW.address)
|
||||
.onSuccess {
|
||||
val monitorUserTokenDao = MonitorUserTokenDao(this.event)
|
||||
val cleanfailtokenTaskId = vertx.setPeriodic(5 * 60 * 1000) { // 每间隔5分钟进行一次失效token清理
|
||||
logger.info("--------------------------定时清理失效token----------------------")
|
||||
event!!.publish(EventBusAddress.SYS_MONITOR_CLEANFAILTOKEN.address, JsonObject())
|
||||
}
|
||||
}
|
||||
shareDate.getLocalLock(EventBusAddress.SYS_ORGANIZATION_SYNC.address)
|
||||
.onSuccess { val organizationDao = OrganizationDao(this.event, vertx) }
|
||||
shareDate.getLocalLock(EventBusAddress.SYS_DEVICE_SYNC.address)
|
||||
.onSuccess {
|
||||
val deviceDao = DeviceDao(this.event, this.vertx)
|
||||
val deviceChannelDao = DeviceChannelDao(this.event)
|
||||
}
|
||||
startFuture?.complete()
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
package com.hisense.dahua_video.verticle
|
||||
|
||||
import com.hisense.dahua_video.controller.CommonController
|
||||
import com.hisense.dahua_video.controller.IndexController
|
||||
import com.hisense.dahua_video.controller.MonitorUserController
|
||||
import io.vertx.core.Promise
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.core.eventbus.EventBus
|
||||
import io.vertx.core.file.FileSystem
|
||||
import io.vertx.core.http.HttpMethod
|
||||
import io.vertx.core.http.HttpServerOptions
|
||||
import io.vertx.core.impl.logging.Logger
|
||||
import io.vertx.core.impl.logging.LoggerFactory
|
||||
import io.vertx.ext.web.Router
|
||||
import io.vertx.ext.web.handler.BodyHandler
|
||||
import io.vertx.ext.web.handler.CorsHandler
|
||||
import io.vertx.ext.web.handler.StaticHandler
|
||||
import io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine
|
||||
import io.vertx.kotlin.coroutines.CoroutineVerticle
|
||||
|
||||
/**
|
||||
* web接口
|
||||
*/
|
||||
class WebAPIVerticle : CoroutineVerticle() {
|
||||
private val logger: Logger = LoggerFactory.getLogger(WebAPIVerticle::class.java)
|
||||
var event: EventBus? = null
|
||||
var fs: FileSystem? = null
|
||||
|
||||
override fun start(startFuture: Promise<Void>?) {
|
||||
event = vertx.eventBus()
|
||||
fs = vertx.fileSystem()
|
||||
val config = Vertx.currentContext().config()
|
||||
val port = config.getInteger("port", 8888)
|
||||
|
||||
val router = Router.router(vertx)
|
||||
|
||||
vertx.createHttpServer(HttpServerOptions().apply {
|
||||
isTcpFastOpen = vertx.isNativeTransportEnabled
|
||||
isTcpCork = vertx.isNativeTransportEnabled
|
||||
isTcpQuickAck = vertx.isNativeTransportEnabled
|
||||
isReusePort = vertx.isNativeTransportEnabled
|
||||
isTcpNoDelay = vertx.isNativeTransportEnabled
|
||||
}).requestHandler(router).listen(port) { http ->
|
||||
if (http.succeeded()) {
|
||||
startFuture?.complete()
|
||||
logger.info("http 服务监听端口: $port")
|
||||
/**
|
||||
* 路由配置
|
||||
*/
|
||||
setRouter(router)
|
||||
} else {
|
||||
logger.error("创建 HTTP server 失败", http.cause())
|
||||
startFuture?.fail(http.cause())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置全局路由
|
||||
*/
|
||||
private fun setRouter(router: Router = Router.router(vertx)) {
|
||||
val templateEngine = ThymeleafTemplateEngine.create(vertx) // ThymeleafTemplateEngine 配置
|
||||
val commonController = CommonController(event)
|
||||
val indexControl = IndexController(this.vertx, templateEngine)
|
||||
val monitorUserController = MonitorUserController(this.vertx, templateEngine)
|
||||
router.route().method(HttpMethod.POST).handler(BodyHandler.create())
|
||||
router.route("/*").handler(StaticHandler.create()) //静态资源
|
||||
router.route().handler(
|
||||
CorsHandler.create("*").allowedMethod(HttpMethod.GET).allowedMethod(HttpMethod.OPTIONS)
|
||||
.allowedMethod(HttpMethod.POST).allowCredentials(true).addOrigin("*").allowedHeader("token")
|
||||
.allowedHeader("Access-Control-Request-Method").allowedHeader("Access-Control-Allow-Credentials")
|
||||
.allowedHeader("Access-Control-Allow-Origin").allowedHeader("Access-Control-Allow-Headers")
|
||||
.allowedHeader("Content-Type")
|
||||
)
|
||||
|
||||
/**
|
||||
* 跨域
|
||||
*/
|
||||
router.route().method(HttpMethod.OPTIONS).handler(commonController::optionSCros)
|
||||
router.route().method(HttpMethod.GET).handler(commonController::getCros)
|
||||
|
||||
logger.info("开放管理员后台")
|
||||
router.route("/admin/*").order(0).handler(commonController::checkLogin) // 管理首页
|
||||
router.route(HttpMethod.GET, "/admin/").handler(indexControl::index) // 首页
|
||||
router.route(HttpMethod.POST, "/admin/check").handler(indexControl::check) // 注册校验
|
||||
router.route(HttpMethod.POST, "/admin/sign_up").handler(indexControl::sign_up) // 注册表单
|
||||
|
||||
router.route(HttpMethod.POST, "/admin/monitor_user/sign_up").handler(monitorUserController::sign_up) // 第三方平台注册表单
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration>
|
||||
<Properties>
|
||||
<Property name="log-pattern">%d{yyyy-MM-dd HH:mm:ss} |- %highlight{%5p}{TRACE=blue, DEBUG=green, INFO=green,
|
||||
WARN=yellow, ERROR=red, FATAL=red} in %style{%C{1}:%L}{cyan} [%style{%t}{magenta}] - %m%n
|
||||
</Property>
|
||||
</Properties>
|
||||
|
||||
<Appenders>
|
||||
<Appender></Appender>
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="${log-pattern}"/>
|
||||
</Console>
|
||||
<RollingRandomAccessFile name="INFO-FILE" fileName="logs/app.log" append="true"
|
||||
filePattern="logs/app.log.%d{yyyyMMdd}-%i">
|
||||
<PatternLayout>
|
||||
<Pattern>%d %-5p [%c]-[%t] %m%n</Pattern>
|
||||
</PatternLayout>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
||||
<SizeBasedTriggeringPolicy size="20 MB"/>
|
||||
</Policies>
|
||||
|
||||
<CronTriggeringPolicy schedule="0 0 5 * * ? "/>
|
||||
<DefaultRolloverStrategy>
|
||||
<Delete basePath="logs" maxDepth="1">
|
||||
<IfFileName glob="app.log.*"/>
|
||||
<!--删除5天前的文件-->
|
||||
<IfLastModified age="5d"/>
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
|
||||
<RollingRandomAccessFile name="ERROR-FILE" fileName="logs/app-error.log" append="true"
|
||||
filePattern="logs/app-error.log.%d{yyyyMMdd}-%i">
|
||||
<PatternLayout>
|
||||
<Pattern>%d %-5p [%c]-[%t] %m%n</Pattern>
|
||||
</PatternLayout>
|
||||
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
||||
<SizeBasedTriggeringPolicy size="20 MB"/>
|
||||
</Policies>
|
||||
|
||||
<CronTriggeringPolicy schedule="0 0 5 * * ? "/>
|
||||
<DefaultRolloverStrategy>
|
||||
<Delete basePath="logs" maxDepth="1">
|
||||
<IfFileName glob="app-error.*"/>
|
||||
<!--删除5天前的文件-->
|
||||
<IfLastModified age="5d"/>
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingRandomAccessFile>
|
||||
</Appenders>
|
||||
|
||||
<!-- Logger levels: trace, debug, info, warn, error, fatal -->
|
||||
<Loggers>
|
||||
<!--name 是你需要打log的包名-->
|
||||
<AsyncLogger name="com.hisense" level="DEBUG" additivity="false" includeLocation="true">
|
||||
<AppenderRef ref="Console"/>
|
||||
<appender-ref ref="INFO-FILE"/>
|
||||
<appender-ref ref="ERROR-FILE"/>
|
||||
</AsyncLogger>
|
||||
<Root level="INFO">
|
||||
<AppenderRef ref="Console"/>
|
||||
<appender-ref ref="INFO-FILE"/>
|
||||
<appender-ref ref="ERROR-FILE"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
|
@ -0,0 +1,113 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>视频管理平台</title>
|
||||
<link rel="stylesheet" th:href="@{/layui/css/layui.css}">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
<div class="layui-header">
|
||||
<div class="layui-logo layui-hide-xs layui-bg-black">视频管理平台</div>
|
||||
<!-- 头部区域(可配合layui 已有的水平导航) -->
|
||||
<ul class="layui-nav layui-layout-left" lay-header-event="menuLeft">
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="">视频预览</a></li>
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="">视频截图</a></li>
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;">nav groups</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="">menu 11</a></dd>
|
||||
<dd><a href="">menu 22</a></dd>
|
||||
<dd><a href="">menu 33</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
<li class="layui-nav-item layui-hide layui-show-md-inline-block">
|
||||
<a href="javascript:;">
|
||||
<img src="//tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg" class="layui-nav-img">
|
||||
tester
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="">Your Profile</a></dd>
|
||||
<dd><a href="">Settings</a></dd>
|
||||
<dd><a href="">Sign out</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
|
||||
<a href="javascript:;">
|
||||
<i class="layui-icon layui-icon-more-vertical"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="layui-side layui-bg-black">
|
||||
<div class="layui-side-scroll">
|
||||
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a class="" href="javascript:;">menu group 1</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="javascript:;">menu 1</a></dd>
|
||||
<dd><a href="javascript:;">menu 2</a></dd>
|
||||
<dd><a href="javascript:;">menu 3</a></dd>
|
||||
<dd><a href="">the links</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;">menu group 2</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="javascript:;">list 1</a></dd>
|
||||
<dd><a href="javascript:;">list 2</a></dd>
|
||||
<dd><a href="">超链接</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-body">
|
||||
<!-- 内容主体区域 -->
|
||||
<div style="padding: 15px;">内容主体区域。记得修改 layui.css 和 js 的路径</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer">
|
||||
<!-- 底部固定区域 -->
|
||||
<span th:text="${msg}"></span>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script th:src="@{/layui/layui.js}"></script>
|
||||
<script>
|
||||
//JS
|
||||
layui.use(['element', 'layer', 'util'], function(){
|
||||
var element = layui.element
|
||||
,layer = layui.layer
|
||||
,util = layui.util
|
||||
,$ = layui.$;
|
||||
|
||||
//头部事件
|
||||
util.event('lay-header-event', {
|
||||
//左侧菜单事件
|
||||
menuLeft: function(othis){
|
||||
layer.msg('展开左侧菜单的操作', {icon: 0});
|
||||
console.log('展开左侧菜单的操作')
|
||||
}
|
||||
,menuRight: function(){
|
||||
layer.open({
|
||||
type: 1
|
||||
,content: '<div style="padding: 15px;">处理右侧面板的操作</div>'
|
||||
,area: ['260px', '100%']
|
||||
,offset: 'rt' //右上角
|
||||
,anim: 5
|
||||
,shadeClose: true
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</html>
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#FAFAFA;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view .layui-code-ol li:first-child{padding-top:10px}.layui-code-view .layui-code-ol li:last-child{padding-bottom:10px}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none}
|
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 5.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 701 B |
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 299 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,22 @@
|
|||
package com.hisense.dahua_video
|
||||
|
||||
import io.vertx.core.Vertx
|
||||
import io.vertx.junit5.VertxExtension
|
||||
import io.vertx.junit5.VertxTestContext
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
|
||||
@ExtendWith(VertxExtension::class)
|
||||
class TestMainVerticle {
|
||||
|
||||
@BeforeEach
|
||||
fun deploy_verticle(vertx: Vertx, testContext: VertxTestContext) {
|
||||
vertx.deployVerticle(MainVerticle(), testContext.succeeding<String> { _ -> testContext.completeNow() })
|
||||
}
|
||||
|
||||
@Test
|
||||
fun verticle_deployed(vertx: Vertx, testContext: VertxTestContext) {
|
||||
testContext.completeNow()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue