From ac5fdf02c7dc38cbe58869060162bc364d9b22d0 Mon Sep 17 00:00:00 2001 From: zhuyf Date: Tue, 21 Jun 2022 11:28:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E8=A7=A3=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hs_err_pid6396.log | 657 ++++++++++++++++++ .../client/annotation/InsertListenPoint.java | 6 +- .../canal/client/annotation/TableFilter.java | 4 +- .../canal/client/core/HandlerConf.java | 37 + .../canal/client/core/SimpleCanalClient.java | 39 +- .../AbstractBasicMessageTransponder.java | 63 +- .../transfer/AbstractMessageTransponder.java | 28 +- .../transfer/DefaultMessageTransponder.java | 85 ++- .../transfer/DefaultTransponderFactory.java | 5 +- .../client/transfer/TransponderFactory.java | 5 +- .../java/com/schbrain/web/MyCanalEvent.java | 38 +- .../java/com/schbrain/web/MyCanalEvent2.java | 30 + .../java/com/schbrain/web/MyCanalEvent3.java | 29 + .../java/com/schbrain/web/UserService.java | 21 + .../src/main/resources/application.properties | 21 +- .../src/main/resources/logback.xml | 2 +- 16 files changed, 952 insertions(+), 118 deletions(-) create mode 100644 hs_err_pid6396.log create mode 100644 schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/HandlerConf.java create mode 100644 schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent2.java create mode 100644 schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent3.java create mode 100644 schbrain-canal-web/src/main/java/com/schbrain/web/UserService.java diff --git a/hs_err_pid6396.log b/hs_err_pid6396.log new file mode 100644 index 0000000..fd0213b --- /dev/null +++ b/hs_err_pid6396.log @@ -0,0 +1,657 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap +# Possible reasons: +# The system is out of physical RAM or swap space +# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Zero Based Compressed Oops mode in which the Java heap is +# placed in the first 32GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 32GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (./open/src/hotspot/share/memory/allocation.cpp:46), pid=6396, tid=14984 +# +# JRE version: Java(TM) SE Runtime Environment 18.9 (11.0.14+8) (build 11.0.14+8-LTS-263) +# Java VM: Java HotSpot(TM) 64-Bit Server VM 18.9 (11.0.14+8-LTS-263, mixed mode, tiered, compressed oops, g1 gc, windows-amd64) +# No core dump will be written. Minidumps are not enabled by default on client versions of Windows +# + +--------------- S U M M A R Y ------------ + +Command Line: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:54769,suspend=y,server=n -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:D:\idea\config\IntelliJIDEA202131\system\captureAgent\debugger-agent.jar=file:/C:/Users/zhuyunfeng/AppData/Local/Temp/capture.props -Dfile.encoding=UTF-8 com.schbrain.web.SchbrainMainApplication + +Host: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz, 8 cores, 15G, Windows 10 , 64 bit Build 19041 (10.0.19041.1706) +Time: Fri Jun 17 16:58:49 2022 中国标准时间 elapsed time: 5.151665 seconds (0d 0h 0m 5s) + +--------------- T H R E A D --------------- + +Current thread (0x0000019a3c5c8000): VMThread "VM Thread" [stack: 0x00000066eaa00000,0x00000066eab00000] [id=14984] + +Stack: [0x00000066eaa00000,0x00000066eab00000] +[error occurred during error reporting (printing stack bounds), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000019a21080f2d] + +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x6296da] +V [jvm.dll+0x76323f] +V [jvm.dll+0x7648e9] +V [jvm.dll+0x764ed5] +V [jvm.dll+0x764e8b] +V [jvm.dll+0x628c23] +V [jvm.dll+0x6292d8] +C [ntdll.dll+0xa209f] +C [ntdll.dll+0x51454] +C [ntdll.dll+0xa0bce] +C 0x0000019a21080f2d + +VM_Operation (0x00000066ea4fd600): CollectForMetadataAllocation, mode: safepoint, requested by thread 0x0000019a19a0f000 + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x0000019a3eec1f30, length=15, elements={ +0x0000019a19a0f000, 0x0000019a3c5cd000, 0x0000019a3c5d8000, 0x0000019a3cef1800, +0x0000019a3cef3800, 0x0000019a3cef7000, 0x0000019a3c5ed000, 0x0000019a3cf03800, +0x0000019a3d02d000, 0x0000019a3d0c4000, 0x0000019a3d0e0800, 0x0000019a3d0e2000, +0x0000019a3d7e5000, 0x0000019a3ee9e000, 0x0000019a3ef36000 +} + +Java Threads: ( => current thread ) + 0x0000019a19a0f000 JavaThread "main" [_thread_blocked, id=17688, stack(0x00000066ea400000,0x00000066ea500000)] + 0x0000019a3c5cd000 JavaThread "Reference Handler" daemon [_thread_blocked, id=8652, stack(0x00000066eab00000,0x00000066eac00000)] + 0x0000019a3c5d8000 JavaThread "Finalizer" daemon [_thread_blocked, id=16464, stack(0x00000066eac00000,0x00000066ead00000)] + 0x0000019a3cef1800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=12544, stack(0x00000066ead00000,0x00000066eae00000)] + 0x0000019a3cef3800 JavaThread "Attach Listener" daemon [_thread_blocked, id=19992, stack(0x00000066eae00000,0x00000066eaf00000)] + 0x0000019a3cef7000 JavaThread "Service Thread" daemon [_thread_blocked, id=7800, stack(0x00000066eaf00000,0x00000066eb000000)] + 0x0000019a3c5ed000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=20592, stack(0x00000066eb000000,0x00000066eb100000)] + 0x0000019a3cf03800 JavaThread "Sweeper thread" daemon [_thread_blocked, id=21396, stack(0x00000066eb100000,0x00000066eb200000)] + 0x0000019a3d02d000 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=6060, stack(0x00000066eb200000,0x00000066eb300000)] + 0x0000019a3d0c4000 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=17552, stack(0x00000066eb300000,0x00000066eb400000)] + 0x0000019a3d0e0800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=19056, stack(0x00000066eb400000,0x00000066eb500000)] + 0x0000019a3d0e2000 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=668, stack(0x00000066eb500000,0x00000066eb600000)] + 0x0000019a3d7e5000 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=3512, stack(0x00000066eb600000,0x00000066eb700000)] + 0x0000019a3ee9e000 JavaThread "RMI TCP Connection(1)-10.0.75.1" daemon [_thread_in_native, id=21156, stack(0x00000066ebd00000,0x00000066ebe00000)] + 0x0000019a3ef36000 JavaThread "RMI Scheduler(0)" daemon [_thread_blocked, id=5764, stack(0x00000066ebf00000,0x00000066ec000000)] + +Other Threads: +=>0x0000019a3c5c8000 VMThread "VM Thread" [stack: 0x00000066eaa00000,0x00000066eab00000] [id=14984] + 0x0000019a3d7eb800 WatcherThread [stack: 0x00000066eb700000,0x00000066eb800000] [id=13540] + 0x0000019a19a24000 GCTaskThread "GC Thread#0" [stack: 0x00000066ea500000,0x00000066ea600000] [id=20816] + 0x0000019a3e494000 GCTaskThread "GC Thread#1" [stack: 0x00000066eb800000,0x00000066eb900000] [id=5148] + 0x0000019a3e495000 GCTaskThread "GC Thread#2" [stack: 0x00000066eb900000,0x00000066eba00000] [id=2280] + 0x0000019a3e497800 GCTaskThread "GC Thread#3" [stack: 0x00000066eba00000,0x00000066ebb00000] [id=20208] + 0x0000019a3e498800 GCTaskThread "GC Thread#4" [stack: 0x00000066ebb00000,0x00000066ebc00000] [id=12988] + 0x0000019a3e49e000 GCTaskThread "GC Thread#5" [stack: 0x00000066ebc00000,0x00000066ebd00000] [id=18776] + 0x0000019a19a7f800 ConcurrentGCThread "G1 Main Marker" [stack: 0x00000066ea600000,0x00000066ea700000] [id=21500] + 0x0000019a19a83000 ConcurrentGCThread "G1 Conc#0" [stack: 0x00000066ea700000,0x00000066ea800000] [id=22280] + 0x0000019a3e7a7000 ConcurrentGCThread "G1 Conc#1" [stack: 0x00000066ebe00000,0x00000066ebf00000] [id=12396] + 0x0000019a3c4b1800 ConcurrentGCThread "G1 Refine#0" [stack: 0x00000066ea800000,0x00000066ea900000] [id=15492] + 0x0000019a3c4b2800 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x00000066ea900000,0x00000066eaa00000] [id=20032] + +Threads with active compile tasks: + +VM state:at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x0000019a19a0b1a0] Threads_lock - owner thread: 0x0000019a3c5c8000 +[0x0000019a19a0cdc0] Heap_lock - owner thread: 0x0000019a19a0f000 + +Heap address: 0x0000000702600000, size: 4058 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 +Narrow klass base: 0x0000000800000000, Narrow klass shift: 0 +Compressed class space size: 1073741824 Address: 0x0000000800000000 + +Heap: + garbage-first heap total 260096K, used 15105K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 8 young (8192K), 8 survivors (8192K) + Metaspace used 34311K, capacity 35365K, committed 35504K, reserved 1087488K + class space used 4322K, capacity 4746K, committed 4864K, reserved 1048576K +Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TAMS=top-at-mark-start (previous, next) +| 0|0x0000000702600000, 0x0000000702700000, 0x0000000702700000|100%| O| |TAMS 0x0000000702700000, 0x0000000702700000| Untracked +| 1|0x0000000702700000, 0x0000000702800000, 0x0000000702800000|100%| O| |TAMS 0x0000000702800000, 0x0000000702800000| Untracked +| 2|0x0000000702800000, 0x0000000702900000, 0x0000000702900000|100%| O| |TAMS 0x0000000702900000, 0x0000000702900000| Untracked +| 3|0x0000000702900000, 0x0000000702a00000, 0x0000000702a00000|100%| O| |TAMS 0x0000000702a00000, 0x0000000702a00000| Untracked +| 4|0x0000000702a00000, 0x0000000702b00000, 0x0000000702b00000|100%| O| |TAMS 0x0000000702b00000, 0x0000000702b00000| Untracked +| 5|0x0000000702b00000, 0x0000000702c00000, 0x0000000702c00000|100%| O| |TAMS 0x0000000702c00000, 0x0000000702c00000| Untracked +| 6|0x0000000702c00000, 0x0000000702cd9400, 0x0000000702d00000| 84%| O| |TAMS 0x0000000702cd9400, 0x0000000702cd9400| Untracked +| 7|0x0000000702d00000, 0x0000000702d00000, 0x0000000702e00000| 0%| F| |TAMS 0x0000000702d00000, 0x0000000702d00000| Untracked +| 8|0x0000000702e00000, 0x0000000702e00000, 0x0000000702f00000| 0%| F| |TAMS 0x0000000702e00000, 0x0000000702e00000| Untracked +| 9|0x0000000702f00000, 0x0000000702f00000, 0x0000000703000000| 0%| F| |TAMS 0x0000000702f00000, 0x0000000702f00000| Untracked +| 10|0x0000000703000000, 0x0000000703000000, 0x0000000703100000| 0%| F| |TAMS 0x0000000703000000, 0x0000000703000000| Untracked +| 11|0x0000000703100000, 0x0000000703100000, 0x0000000703200000| 0%| F| |TAMS 0x0000000703100000, 0x0000000703100000| Untracked +| 12|0x0000000703200000, 0x0000000703200000, 0x0000000703300000| 0%| F| |TAMS 0x0000000703200000, 0x0000000703200000| Untracked +| 13|0x0000000703300000, 0x0000000703300000, 0x0000000703400000| 0%| F| |TAMS 0x0000000703300000, 0x0000000703300000| Untracked +| 14|0x0000000703400000, 0x0000000703400000, 0x0000000703500000| 0%| F| |TAMS 0x0000000703400000, 0x0000000703400000| Untracked +| 15|0x0000000703500000, 0x0000000703500000, 0x0000000703600000| 0%| F| |TAMS 0x0000000703500000, 0x0000000703500000| Untracked +| 16|0x0000000703600000, 0x0000000703600000, 0x0000000703700000| 0%| F| |TAMS 0x0000000703600000, 0x0000000703600000| Untracked +| 17|0x0000000703700000, 0x0000000703700000, 0x0000000703800000| 0%| F| |TAMS 0x0000000703700000, 0x0000000703700000| Untracked +| 18|0x0000000703800000, 0x0000000703800000, 0x0000000703900000| 0%| F| |TAMS 0x0000000703800000, 0x0000000703800000| Untracked +| 19|0x0000000703900000, 0x0000000703900000, 0x0000000703a00000| 0%| F| |TAMS 0x0000000703900000, 0x0000000703900000| Untracked +| 20|0x0000000703a00000, 0x0000000703a00000, 0x0000000703b00000| 0%| F| |TAMS 0x0000000703a00000, 0x0000000703a00000| Untracked +| 21|0x0000000703b00000, 0x0000000703b00000, 0x0000000703c00000| 0%| F| |TAMS 0x0000000703b00000, 0x0000000703b00000| Untracked +| 22|0x0000000703c00000, 0x0000000703c00000, 0x0000000703d00000| 0%| F| |TAMS 0x0000000703c00000, 0x0000000703c00000| Untracked +| 23|0x0000000703d00000, 0x0000000703d00000, 0x0000000703e00000| 0%| F| |TAMS 0x0000000703d00000, 0x0000000703d00000| Untracked +| 24|0x0000000703e00000, 0x0000000703e00000, 0x0000000703f00000| 0%| F| |TAMS 0x0000000703e00000, 0x0000000703e00000| Untracked +| 25|0x0000000703f00000, 0x0000000703f00000, 0x0000000704000000| 0%| F| |TAMS 0x0000000703f00000, 0x0000000703f00000| Untracked +| 26|0x0000000704000000, 0x0000000704000000, 0x0000000704100000| 0%| F| |TAMS 0x0000000704000000, 0x0000000704000000| Untracked +| 27|0x0000000704100000, 0x0000000704100000, 0x0000000704200000| 0%| F| |TAMS 0x0000000704100000, 0x0000000704100000| Untracked +| 28|0x0000000704200000, 0x0000000704200000, 0x0000000704300000| 0%| F| |TAMS 0x0000000704200000, 0x0000000704200000| Untracked +| 29|0x0000000704300000, 0x0000000704300000, 0x0000000704400000| 0%| F| |TAMS 0x0000000704300000, 0x0000000704300000| Untracked +| 30|0x0000000704400000, 0x0000000704400000, 0x0000000704500000| 0%| F| |TAMS 0x0000000704400000, 0x0000000704400000| Untracked +| 31|0x0000000704500000, 0x0000000704500000, 0x0000000704600000| 0%| F| |TAMS 0x0000000704500000, 0x0000000704500000| Untracked +| 32|0x0000000704600000, 0x0000000704600000, 0x0000000704700000| 0%| F| |TAMS 0x0000000704600000, 0x0000000704600000| Untracked +| 33|0x0000000704700000, 0x0000000704700000, 0x0000000704800000| 0%| F| |TAMS 0x0000000704700000, 0x0000000704700000| Untracked +| 34|0x0000000704800000, 0x0000000704800000, 0x0000000704900000| 0%| F| |TAMS 0x0000000704800000, 0x0000000704800000| Untracked +| 35|0x0000000704900000, 0x0000000704900000, 0x0000000704a00000| 0%| F| |TAMS 0x0000000704900000, 0x0000000704900000| Untracked +| 36|0x0000000704a00000, 0x0000000704a00000, 0x0000000704b00000| 0%| F| |TAMS 0x0000000704a00000, 0x0000000704a00000| Untracked +| 37|0x0000000704b00000, 0x0000000704b00000, 0x0000000704c00000| 0%| F| |TAMS 0x0000000704b00000, 0x0000000704b00000| Untracked +| 38|0x0000000704c00000, 0x0000000704c00000, 0x0000000704d00000| 0%| F| |TAMS 0x0000000704c00000, 0x0000000704c00000| Untracked +| 39|0x0000000704d00000, 0x0000000704d00000, 0x0000000704e00000| 0%| F| |TAMS 0x0000000704d00000, 0x0000000704d00000| Untracked +| 40|0x0000000704e00000, 0x0000000704e00000, 0x0000000704f00000| 0%| F| |TAMS 0x0000000704e00000, 0x0000000704e00000| Untracked +| 41|0x0000000704f00000, 0x0000000704f00000, 0x0000000705000000| 0%| F| |TAMS 0x0000000704f00000, 0x0000000704f00000| Untracked +| 42|0x0000000705000000, 0x0000000705000000, 0x0000000705100000| 0%| F| |TAMS 0x0000000705000000, 0x0000000705000000| Untracked +| 43|0x0000000705100000, 0x0000000705100000, 0x0000000705200000| 0%| F| |TAMS 0x0000000705100000, 0x0000000705100000| Untracked +| 44|0x0000000705200000, 0x0000000705200000, 0x0000000705300000| 0%| F| |TAMS 0x0000000705200000, 0x0000000705200000| Untracked +| 45|0x0000000705300000, 0x0000000705300000, 0x0000000705400000| 0%| F| |TAMS 0x0000000705300000, 0x0000000705300000| Untracked +| 46|0x0000000705400000, 0x0000000705400000, 0x0000000705500000| 0%| F| |TAMS 0x0000000705400000, 0x0000000705400000| Untracked +| 47|0x0000000705500000, 0x0000000705500000, 0x0000000705600000| 0%| F| |TAMS 0x0000000705500000, 0x0000000705500000| Untracked +| 48|0x0000000705600000, 0x0000000705600000, 0x0000000705700000| 0%| F| |TAMS 0x0000000705600000, 0x0000000705600000| Untracked +| 49|0x0000000705700000, 0x0000000705700000, 0x0000000705800000| 0%| F| |TAMS 0x0000000705700000, 0x0000000705700000| Untracked +| 50|0x0000000705800000, 0x0000000705800000, 0x0000000705900000| 0%| F| |TAMS 0x0000000705800000, 0x0000000705800000| Untracked +| 51|0x0000000705900000, 0x0000000705900000, 0x0000000705a00000| 0%| F| |TAMS 0x0000000705900000, 0x0000000705900000| Untracked +| 52|0x0000000705a00000, 0x0000000705a00000, 0x0000000705b00000| 0%| F| |TAMS 0x0000000705a00000, 0x0000000705a00000| Untracked +| 53|0x0000000705b00000, 0x0000000705b00000, 0x0000000705c00000| 0%| F| |TAMS 0x0000000705b00000, 0x0000000705b00000| Untracked +| 54|0x0000000705c00000, 0x0000000705c00000, 0x0000000705d00000| 0%| F| |TAMS 0x0000000705c00000, 0x0000000705c00000| Untracked +| 55|0x0000000705d00000, 0x0000000705d00000, 0x0000000705e00000| 0%| F| |TAMS 0x0000000705d00000, 0x0000000705d00000| Untracked +| 56|0x0000000705e00000, 0x0000000705e00000, 0x0000000705f00000| 0%| F| |TAMS 0x0000000705e00000, 0x0000000705e00000| Untracked +| 57|0x0000000705f00000, 0x0000000705f00000, 0x0000000706000000| 0%| F| |TAMS 0x0000000705f00000, 0x0000000705f00000| Untracked +| 58|0x0000000706000000, 0x0000000706000000, 0x0000000706100000| 0%| F| |TAMS 0x0000000706000000, 0x0000000706000000| Untracked +| 59|0x0000000706100000, 0x0000000706100000, 0x0000000706200000| 0%| F| |TAMS 0x0000000706100000, 0x0000000706100000| Untracked +| 60|0x0000000706200000, 0x0000000706200000, 0x0000000706300000| 0%| F| |TAMS 0x0000000706200000, 0x0000000706200000| Untracked +| 61|0x0000000706300000, 0x0000000706300000, 0x0000000706400000| 0%| F| |TAMS 0x0000000706300000, 0x0000000706300000| Untracked +| 62|0x0000000706400000, 0x0000000706400000, 0x0000000706500000| 0%| F| |TAMS 0x0000000706400000, 0x0000000706400000| Untracked +| 63|0x0000000706500000, 0x0000000706500000, 0x0000000706600000| 0%| F| |TAMS 0x0000000706500000, 0x0000000706500000| Untracked +| 64|0x0000000706600000, 0x0000000706600000, 0x0000000706700000| 0%| F| |TAMS 0x0000000706600000, 0x0000000706600000| Untracked +| 65|0x0000000706700000, 0x0000000706700000, 0x0000000706800000| 0%| F| |TAMS 0x0000000706700000, 0x0000000706700000| Untracked +| 66|0x0000000706800000, 0x0000000706800000, 0x0000000706900000| 0%| F| |TAMS 0x0000000706800000, 0x0000000706800000| Untracked +| 67|0x0000000706900000, 0x0000000706900000, 0x0000000706a00000| 0%| F| |TAMS 0x0000000706900000, 0x0000000706900000| Untracked +| 68|0x0000000706a00000, 0x0000000706a00000, 0x0000000706b00000| 0%| F| |TAMS 0x0000000706a00000, 0x0000000706a00000| Untracked +| 69|0x0000000706b00000, 0x0000000706b00000, 0x0000000706c00000| 0%| F| |TAMS 0x0000000706b00000, 0x0000000706b00000| Untracked +| 70|0x0000000706c00000, 0x0000000706c00000, 0x0000000706d00000| 0%| F| |TAMS 0x0000000706c00000, 0x0000000706c00000| Untracked +| 71|0x0000000706d00000, 0x0000000706d00000, 0x0000000706e00000| 0%| F| |TAMS 0x0000000706d00000, 0x0000000706d00000| Untracked +| 72|0x0000000706e00000, 0x0000000706e00000, 0x0000000706f00000| 0%| F| |TAMS 0x0000000706e00000, 0x0000000706e00000| Untracked +| 73|0x0000000706f00000, 0x0000000706f00000, 0x0000000707000000| 0%| F| |TAMS 0x0000000706f00000, 0x0000000706f00000| Untracked +| 74|0x0000000707000000, 0x0000000707000000, 0x0000000707100000| 0%| F| |TAMS 0x0000000707000000, 0x0000000707000000| Untracked +| 75|0x0000000707100000, 0x0000000707100000, 0x0000000707200000| 0%| F| |TAMS 0x0000000707100000, 0x0000000707100000| Untracked +| 76|0x0000000707200000, 0x0000000707200000, 0x0000000707300000| 0%| F| |TAMS 0x0000000707200000, 0x0000000707200000| Untracked +| 77|0x0000000707300000, 0x0000000707300000, 0x0000000707400000| 0%| F| |TAMS 0x0000000707300000, 0x0000000707300000| Untracked +| 78|0x0000000707400000, 0x0000000707400000, 0x0000000707500000| 0%| F| |TAMS 0x0000000707400000, 0x0000000707400000| Untracked +| 79|0x0000000707500000, 0x0000000707500000, 0x0000000707600000| 0%| F| |TAMS 0x0000000707500000, 0x0000000707500000| Untracked +| 80|0x0000000707600000, 0x0000000707600000, 0x0000000707700000| 0%| F| |TAMS 0x0000000707600000, 0x0000000707600000| Untracked +| 81|0x0000000707700000, 0x0000000707700000, 0x0000000707800000| 0%| F| |TAMS 0x0000000707700000, 0x0000000707700000| Untracked +| 82|0x0000000707800000, 0x0000000707800000, 0x0000000707900000| 0%| F| |TAMS 0x0000000707800000, 0x0000000707800000| Untracked +| 83|0x0000000707900000, 0x0000000707900000, 0x0000000707a00000| 0%| F| |TAMS 0x0000000707900000, 0x0000000707900000| Untracked +| 84|0x0000000707a00000, 0x0000000707a00000, 0x0000000707b00000| 0%| F| |TAMS 0x0000000707a00000, 0x0000000707a00000| Untracked +| 85|0x0000000707b00000, 0x0000000707b00000, 0x0000000707c00000| 0%| F| |TAMS 0x0000000707b00000, 0x0000000707b00000| Untracked +| 86|0x0000000707c00000, 0x0000000707c00000, 0x0000000707d00000| 0%| F| |TAMS 0x0000000707c00000, 0x0000000707c00000| Untracked +| 87|0x0000000707d00000, 0x0000000707d00000, 0x0000000707e00000| 0%| F| |TAMS 0x0000000707d00000, 0x0000000707d00000| Untracked +| 88|0x0000000707e00000, 0x0000000707e00000, 0x0000000707f00000| 0%| F| |TAMS 0x0000000707e00000, 0x0000000707e00000| Untracked +| 89|0x0000000707f00000, 0x0000000707f00000, 0x0000000708000000| 0%| F| |TAMS 0x0000000707f00000, 0x0000000707f00000| Untracked +| 90|0x0000000708000000, 0x0000000708000000, 0x0000000708100000| 0%| F| |TAMS 0x0000000708000000, 0x0000000708000000| Untracked +| 91|0x0000000708100000, 0x0000000708100000, 0x0000000708200000| 0%| F| |TAMS 0x0000000708100000, 0x0000000708100000| Untracked +| 92|0x0000000708200000, 0x0000000708200000, 0x0000000708300000| 0%| F| |TAMS 0x0000000708200000, 0x0000000708200000| Untracked +| 93|0x0000000708300000, 0x0000000708300000, 0x0000000708400000| 0%| F| |TAMS 0x0000000708300000, 0x0000000708300000| Untracked +| 94|0x0000000708400000, 0x0000000708400000, 0x0000000708500000| 0%| F| |TAMS 0x0000000708400000, 0x0000000708400000| Untracked +| 95|0x0000000708500000, 0x0000000708500000, 0x0000000708600000| 0%| F| |TAMS 0x0000000708500000, 0x0000000708500000| Untracked +| 96|0x0000000708600000, 0x0000000708600000, 0x0000000708700000| 0%| F| |TAMS 0x0000000708600000, 0x0000000708600000| Untracked +| 97|0x0000000708700000, 0x0000000708700000, 0x0000000708800000| 0%| F| |TAMS 0x0000000708700000, 0x0000000708700000| Untracked +| 98|0x0000000708800000, 0x0000000708800000, 0x0000000708900000| 0%| F| |TAMS 0x0000000708800000, 0x0000000708800000| Untracked +| 99|0x0000000708900000, 0x0000000708900000, 0x0000000708a00000| 0%| F| |TAMS 0x0000000708900000, 0x0000000708900000| Untracked +| 100|0x0000000708a00000, 0x0000000708a00000, 0x0000000708b00000| 0%| F| |TAMS 0x0000000708a00000, 0x0000000708a00000| Untracked +| 101|0x0000000708b00000, 0x0000000708b00000, 0x0000000708c00000| 0%| F| |TAMS 0x0000000708b00000, 0x0000000708b00000| Untracked +| 102|0x0000000708c00000, 0x0000000708c00000, 0x0000000708d00000| 0%| F| |TAMS 0x0000000708c00000, 0x0000000708c00000| Untracked +| 103|0x0000000708d00000, 0x0000000708d00000, 0x0000000708e00000| 0%| F| |TAMS 0x0000000708d00000, 0x0000000708d00000| Untracked +| 104|0x0000000708e00000, 0x0000000708e00000, 0x0000000708f00000| 0%| F| |TAMS 0x0000000708e00000, 0x0000000708e00000| Untracked +| 105|0x0000000708f00000, 0x0000000708f00000, 0x0000000709000000| 0%| F| |TAMS 0x0000000708f00000, 0x0000000708f00000| Untracked +| 106|0x0000000709000000, 0x0000000709000000, 0x0000000709100000| 0%| F| |TAMS 0x0000000709000000, 0x0000000709000000| Untracked +| 107|0x0000000709100000, 0x0000000709100000, 0x0000000709200000| 0%| F| |TAMS 0x0000000709100000, 0x0000000709100000| Untracked +| 108|0x0000000709200000, 0x0000000709200000, 0x0000000709300000| 0%| F| |TAMS 0x0000000709200000, 0x0000000709200000| Untracked +| 109|0x0000000709300000, 0x0000000709300000, 0x0000000709400000| 0%| F| |TAMS 0x0000000709300000, 0x0000000709300000| Untracked +| 110|0x0000000709400000, 0x0000000709400000, 0x0000000709500000| 0%| F| |TAMS 0x0000000709400000, 0x0000000709400000| Untracked +| 111|0x0000000709500000, 0x0000000709500000, 0x0000000709600000| 0%| F| |TAMS 0x0000000709500000, 0x0000000709500000| Untracked +| 112|0x0000000709600000, 0x0000000709600000, 0x0000000709700000| 0%| F| |TAMS 0x0000000709600000, 0x0000000709600000| Untracked +| 113|0x0000000709700000, 0x0000000709700000, 0x0000000709800000| 0%| F| |TAMS 0x0000000709700000, 0x0000000709700000| Untracked +| 114|0x0000000709800000, 0x0000000709800000, 0x0000000709900000| 0%| F| |TAMS 0x0000000709800000, 0x0000000709800000| Untracked +| 115|0x0000000709900000, 0x0000000709900000, 0x0000000709a00000| 0%| F| |TAMS 0x0000000709900000, 0x0000000709900000| Untracked +| 116|0x0000000709a00000, 0x0000000709a00000, 0x0000000709b00000| 0%| F| |TAMS 0x0000000709a00000, 0x0000000709a00000| Untracked +| 117|0x0000000709b00000, 0x0000000709b00000, 0x0000000709c00000| 0%| F| |TAMS 0x0000000709b00000, 0x0000000709b00000| Untracked +| 118|0x0000000709c00000, 0x0000000709c00000, 0x0000000709d00000| 0%| F| |TAMS 0x0000000709c00000, 0x0000000709c00000| Untracked +| 119|0x0000000709d00000, 0x0000000709d00000, 0x0000000709e00000| 0%| F| |TAMS 0x0000000709d00000, 0x0000000709d00000| Untracked +| 120|0x0000000709e00000, 0x0000000709e00000, 0x0000000709f00000| 0%| F| |TAMS 0x0000000709e00000, 0x0000000709e00000| Untracked +| 121|0x0000000709f00000, 0x0000000709f00000, 0x000000070a000000| 0%| F| |TAMS 0x0000000709f00000, 0x0000000709f00000| Untracked +| 122|0x000000070a000000, 0x000000070a000000, 0x000000070a100000| 0%| F| |TAMS 0x000000070a000000, 0x000000070a000000| Untracked +| 123|0x000000070a100000, 0x000000070a100000, 0x000000070a200000| 0%| F| |TAMS 0x000000070a100000, 0x000000070a100000| Untracked +| 124|0x000000070a200000, 0x000000070a200000, 0x000000070a300000| 0%| F| |TAMS 0x000000070a200000, 0x000000070a200000| Untracked +| 125|0x000000070a300000, 0x000000070a300000, 0x000000070a400000| 0%| F| |TAMS 0x000000070a300000, 0x000000070a300000| Untracked +| 126|0x000000070a400000, 0x000000070a400000, 0x000000070a500000| 0%| F| |TAMS 0x000000070a400000, 0x000000070a400000| Untracked +| 127|0x000000070a500000, 0x000000070a500000, 0x000000070a600000| 0%| F| |TAMS 0x000000070a500000, 0x000000070a500000| Untracked +| 128|0x000000070a600000, 0x000000070a600000, 0x000000070a700000| 0%| F| |TAMS 0x000000070a600000, 0x000000070a600000| Untracked +| 129|0x000000070a700000, 0x000000070a700000, 0x000000070a800000| 0%| F| |TAMS 0x000000070a700000, 0x000000070a700000| Untracked +| 130|0x000000070a800000, 0x000000070a800000, 0x000000070a900000| 0%| F| |TAMS 0x000000070a800000, 0x000000070a800000| Untracked +| 131|0x000000070a900000, 0x000000070a900000, 0x000000070aa00000| 0%| F| |TAMS 0x000000070a900000, 0x000000070a900000| Untracked +| 132|0x000000070aa00000, 0x000000070aa00000, 0x000000070ab00000| 0%| F| |TAMS 0x000000070aa00000, 0x000000070aa00000| Untracked +| 133|0x000000070ab00000, 0x000000070ab00000, 0x000000070ac00000| 0%| F| |TAMS 0x000000070ab00000, 0x000000070ab00000| Untracked +| 134|0x000000070ac00000, 0x000000070ac00000, 0x000000070ad00000| 0%| F| |TAMS 0x000000070ac00000, 0x000000070ac00000| Untracked +| 135|0x000000070ad00000, 0x000000070ad00000, 0x000000070ae00000| 0%| F| |TAMS 0x000000070ad00000, 0x000000070ad00000| Untracked +| 136|0x000000070ae00000, 0x000000070ae00000, 0x000000070af00000| 0%| F| |TAMS 0x000000070ae00000, 0x000000070ae00000| Untracked +| 137|0x000000070af00000, 0x000000070af00000, 0x000000070b000000| 0%| F| |TAMS 0x000000070af00000, 0x000000070af00000| Untracked +| 138|0x000000070b000000, 0x000000070b000000, 0x000000070b100000| 0%| F| |TAMS 0x000000070b000000, 0x000000070b000000| Untracked +| 139|0x000000070b100000, 0x000000070b100000, 0x000000070b200000| 0%| F| |TAMS 0x000000070b100000, 0x000000070b100000| Untracked +| 140|0x000000070b200000, 0x000000070b200000, 0x000000070b300000| 0%| F| |TAMS 0x000000070b200000, 0x000000070b200000| Untracked +| 141|0x000000070b300000, 0x000000070b300000, 0x000000070b400000| 0%| F| |TAMS 0x000000070b300000, 0x000000070b300000| Untracked +| 142|0x000000070b400000, 0x000000070b400000, 0x000000070b500000| 0%| F| |TAMS 0x000000070b400000, 0x000000070b400000| Untracked +| 143|0x000000070b500000, 0x000000070b500000, 0x000000070b600000| 0%| F| |TAMS 0x000000070b500000, 0x000000070b500000| Untracked +| 144|0x000000070b600000, 0x000000070b600000, 0x000000070b700000| 0%| F| |TAMS 0x000000070b600000, 0x000000070b600000| Untracked +| 145|0x000000070b700000, 0x000000070b700000, 0x000000070b800000| 0%| F| |TAMS 0x000000070b700000, 0x000000070b700000| Untracked +| 146|0x000000070b800000, 0x000000070b800000, 0x000000070b900000| 0%| F| |TAMS 0x000000070b800000, 0x000000070b800000| Untracked +| 147|0x000000070b900000, 0x000000070b900000, 0x000000070ba00000| 0%| F| |TAMS 0x000000070b900000, 0x000000070b900000| Untracked +| 148|0x000000070ba00000, 0x000000070ba00000, 0x000000070bb00000| 0%| F| |TAMS 0x000000070ba00000, 0x000000070ba00000| Untracked +| 149|0x000000070bb00000, 0x000000070bb00000, 0x000000070bc00000| 0%| F| |TAMS 0x000000070bb00000, 0x000000070bb00000| Untracked +| 150|0x000000070bc00000, 0x000000070bc00000, 0x000000070bd00000| 0%| F| |TAMS 0x000000070bc00000, 0x000000070bc00000| Untracked +| 151|0x000000070bd00000, 0x000000070bd00000, 0x000000070be00000| 0%| F| |TAMS 0x000000070bd00000, 0x000000070bd00000| Untracked +| 152|0x000000070be00000, 0x000000070be00000, 0x000000070bf00000| 0%| F| |TAMS 0x000000070be00000, 0x000000070be00000| Untracked +| 153|0x000000070bf00000, 0x000000070bf00000, 0x000000070c000000| 0%| F| |TAMS 0x000000070bf00000, 0x000000070bf00000| Untracked +| 154|0x000000070c000000, 0x000000070c000000, 0x000000070c100000| 0%| F| |TAMS 0x000000070c000000, 0x000000070c000000| Untracked +| 155|0x000000070c100000, 0x000000070c100000, 0x000000070c200000| 0%| F| |TAMS 0x000000070c100000, 0x000000070c100000| Untracked +| 156|0x000000070c200000, 0x000000070c200000, 0x000000070c300000| 0%| F| |TAMS 0x000000070c200000, 0x000000070c200000| Untracked +| 157|0x000000070c300000, 0x000000070c300000, 0x000000070c400000| 0%| F| |TAMS 0x000000070c300000, 0x000000070c300000| Untracked +| 158|0x000000070c400000, 0x000000070c400000, 0x000000070c500000| 0%| F| |TAMS 0x000000070c400000, 0x000000070c400000| Untracked +| 159|0x000000070c500000, 0x000000070c500000, 0x000000070c600000| 0%| F| |TAMS 0x000000070c500000, 0x000000070c500000| Untracked +| 160|0x000000070c600000, 0x000000070c600000, 0x000000070c700000| 0%| F| |TAMS 0x000000070c600000, 0x000000070c600000| Untracked +| 161|0x000000070c700000, 0x000000070c700000, 0x000000070c800000| 0%| F| |TAMS 0x000000070c700000, 0x000000070c700000| Untracked +| 162|0x000000070c800000, 0x000000070c800000, 0x000000070c900000| 0%| F| |TAMS 0x000000070c800000, 0x000000070c800000| Untracked +| 163|0x000000070c900000, 0x000000070c900000, 0x000000070ca00000| 0%| F| |TAMS 0x000000070c900000, 0x000000070c900000| Untracked +| 164|0x000000070ca00000, 0x000000070ca00000, 0x000000070cb00000| 0%| F| |TAMS 0x000000070ca00000, 0x000000070ca00000| Untracked +| 165|0x000000070cb00000, 0x000000070cb00000, 0x000000070cc00000| 0%| F| |TAMS 0x000000070cb00000, 0x000000070cb00000| Untracked +| 166|0x000000070cc00000, 0x000000070cc00000, 0x000000070cd00000| 0%| F| |TAMS 0x000000070cc00000, 0x000000070cc00000| Untracked +| 167|0x000000070cd00000, 0x000000070cd00000, 0x000000070ce00000| 0%| F| |TAMS 0x000000070cd00000, 0x000000070cd00000| Untracked +| 168|0x000000070ce00000, 0x000000070ce00000, 0x000000070cf00000| 0%| F| |TAMS 0x000000070ce00000, 0x000000070ce00000| Untracked +| 169|0x000000070cf00000, 0x000000070cf00000, 0x000000070d000000| 0%| F| |TAMS 0x000000070cf00000, 0x000000070cf00000| Untracked +| 170|0x000000070d000000, 0x000000070d000000, 0x000000070d100000| 0%| F| |TAMS 0x000000070d000000, 0x000000070d000000| Untracked +| 171|0x000000070d100000, 0x000000070d100000, 0x000000070d200000| 0%| F| |TAMS 0x000000070d100000, 0x000000070d100000| Untracked +| 172|0x000000070d200000, 0x000000070d200000, 0x000000070d300000| 0%| F| |TAMS 0x000000070d200000, 0x000000070d200000| Untracked +| 173|0x000000070d300000, 0x000000070d300000, 0x000000070d400000| 0%| F| |TAMS 0x000000070d300000, 0x000000070d300000| Untracked +| 174|0x000000070d400000, 0x000000070d400000, 0x000000070d500000| 0%| F| |TAMS 0x000000070d400000, 0x000000070d400000| Untracked +| 175|0x000000070d500000, 0x000000070d500000, 0x000000070d600000| 0%| F| |TAMS 0x000000070d500000, 0x000000070d500000| Untracked +| 176|0x000000070d600000, 0x000000070d600000, 0x000000070d700000| 0%| F| |TAMS 0x000000070d600000, 0x000000070d600000| Untracked +| 177|0x000000070d700000, 0x000000070d700000, 0x000000070d800000| 0%| F| |TAMS 0x000000070d700000, 0x000000070d700000| Untracked +| 178|0x000000070d800000, 0x000000070d800000, 0x000000070d900000| 0%| F| |TAMS 0x000000070d800000, 0x000000070d800000| Untracked +| 179|0x000000070d900000, 0x000000070d900000, 0x000000070da00000| 0%| F| |TAMS 0x000000070d900000, 0x000000070d900000| Untracked +| 180|0x000000070da00000, 0x000000070da00000, 0x000000070db00000| 0%| F| |TAMS 0x000000070da00000, 0x000000070da00000| Untracked +| 181|0x000000070db00000, 0x000000070db00000, 0x000000070dc00000| 0%| F| |TAMS 0x000000070db00000, 0x000000070db00000| Untracked +| 182|0x000000070dc00000, 0x000000070dc00000, 0x000000070dd00000| 0%| F| |TAMS 0x000000070dc00000, 0x000000070dc00000| Untracked +| 183|0x000000070dd00000, 0x000000070dd00000, 0x000000070de00000| 0%| F| |TAMS 0x000000070dd00000, 0x000000070dd00000| Untracked +| 184|0x000000070de00000, 0x000000070de00000, 0x000000070df00000| 0%| F| |TAMS 0x000000070de00000, 0x000000070de00000| Untracked +| 185|0x000000070df00000, 0x000000070df00000, 0x000000070e000000| 0%| F| |TAMS 0x000000070df00000, 0x000000070df00000| Untracked +| 186|0x000000070e000000, 0x000000070e000000, 0x000000070e100000| 0%| F| |TAMS 0x000000070e000000, 0x000000070e000000| Untracked +| 187|0x000000070e100000, 0x000000070e100000, 0x000000070e200000| 0%| F| |TAMS 0x000000070e100000, 0x000000070e100000| Untracked +| 188|0x000000070e200000, 0x000000070e200000, 0x000000070e300000| 0%| F| |TAMS 0x000000070e200000, 0x000000070e200000| Untracked +| 189|0x000000070e300000, 0x000000070e300000, 0x000000070e400000| 0%| F| |TAMS 0x000000070e300000, 0x000000070e300000| Untracked +| 190|0x000000070e400000, 0x000000070e400000, 0x000000070e500000| 0%| F| |TAMS 0x000000070e400000, 0x000000070e400000| Untracked +| 191|0x000000070e500000, 0x000000070e500000, 0x000000070e600000| 0%| F| |TAMS 0x000000070e500000, 0x000000070e500000| Untracked +| 192|0x000000070e600000, 0x000000070e600000, 0x000000070e700000| 0%| F| |TAMS 0x000000070e600000, 0x000000070e600000| Untracked +| 193|0x000000070e700000, 0x000000070e700000, 0x000000070e800000| 0%| F| |TAMS 0x000000070e700000, 0x000000070e700000| Untracked +| 194|0x000000070e800000, 0x000000070e800000, 0x000000070e900000| 0%| F| |TAMS 0x000000070e800000, 0x000000070e800000| Untracked +| 195|0x000000070e900000, 0x000000070e900000, 0x000000070ea00000| 0%| F| |TAMS 0x000000070e900000, 0x000000070e900000| Untracked +| 196|0x000000070ea00000, 0x000000070ea00000, 0x000000070eb00000| 0%| F| |TAMS 0x000000070ea00000, 0x000000070ea00000| Untracked +| 197|0x000000070eb00000, 0x000000070eb00000, 0x000000070ec00000| 0%| F| |TAMS 0x000000070eb00000, 0x000000070eb00000| Untracked +| 198|0x000000070ec00000, 0x000000070ec00000, 0x000000070ed00000| 0%| F| |TAMS 0x000000070ec00000, 0x000000070ec00000| Untracked +| 199|0x000000070ed00000, 0x000000070ed00000, 0x000000070ee00000| 0%| F| |TAMS 0x000000070ed00000, 0x000000070ed00000| Untracked +| 200|0x000000070ee00000, 0x000000070ee00000, 0x000000070ef00000| 0%| F| |TAMS 0x000000070ee00000, 0x000000070ee00000| Untracked +| 201|0x000000070ef00000, 0x000000070ef00000, 0x000000070f000000| 0%| F| |TAMS 0x000000070ef00000, 0x000000070ef00000| Untracked +| 202|0x000000070f000000, 0x000000070f000000, 0x000000070f100000| 0%| F| |TAMS 0x000000070f000000, 0x000000070f000000| Untracked +| 203|0x000000070f100000, 0x000000070f100000, 0x000000070f200000| 0%| F| |TAMS 0x000000070f100000, 0x000000070f100000| Untracked +| 204|0x000000070f200000, 0x000000070f200000, 0x000000070f300000| 0%| F| |TAMS 0x000000070f200000, 0x000000070f200000| Untracked +| 205|0x000000070f300000, 0x000000070f300000, 0x000000070f400000| 0%| F| |TAMS 0x000000070f300000, 0x000000070f300000| Untracked +| 206|0x000000070f400000, 0x000000070f400000, 0x000000070f500000| 0%| F| |TAMS 0x000000070f400000, 0x000000070f400000| Untracked +| 207|0x000000070f500000, 0x000000070f500000, 0x000000070f600000| 0%| F| |TAMS 0x000000070f500000, 0x000000070f500000| Untracked +| 208|0x000000070f600000, 0x000000070f600000, 0x000000070f700000| 0%| F| |TAMS 0x000000070f600000, 0x000000070f600000| Untracked +| 209|0x000000070f700000, 0x000000070f700000, 0x000000070f800000| 0%| F| |TAMS 0x000000070f700000, 0x000000070f700000| Untracked +| 210|0x000000070f800000, 0x000000070f800000, 0x000000070f900000| 0%| F| |TAMS 0x000000070f800000, 0x000000070f800000| Untracked +| 211|0x000000070f900000, 0x000000070f900000, 0x000000070fa00000| 0%| F| |TAMS 0x000000070f900000, 0x000000070f900000| Untracked +| 212|0x000000070fa00000, 0x000000070fae7328, 0x000000070fb00000| 90%| S|CS|TAMS 0x000000070fa00000, 0x000000070fa00000| Complete +| 213|0x000000070fb00000, 0x000000070fc00000, 0x000000070fc00000|100%| S|CS|TAMS 0x000000070fb00000, 0x000000070fb00000| Complete +| 214|0x000000070fc00000, 0x000000070fd00000, 0x000000070fd00000|100%| S|CS|TAMS 0x000000070fc00000, 0x000000070fc00000| Complete +| 215|0x000000070fd00000, 0x000000070fe00000, 0x000000070fe00000|100%| S|CS|TAMS 0x000000070fd00000, 0x000000070fd00000| Complete +| 216|0x000000070fe00000, 0x000000070ff00000, 0x000000070ff00000|100%| S|CS|TAMS 0x000000070fe00000, 0x000000070fe00000| Complete +| 217|0x000000070ff00000, 0x0000000710000000, 0x0000000710000000|100%| S|CS|TAMS 0x000000070ff00000, 0x000000070ff00000| Complete +| 218|0x0000000710000000, 0x0000000710100000, 0x0000000710100000|100%| S|CS|TAMS 0x0000000710000000, 0x0000000710000000| Complete +| 219|0x0000000710100000, 0x0000000710200000, 0x0000000710200000|100%| S|CS|TAMS 0x0000000710100000, 0x0000000710100000| Complete +| 220|0x0000000710200000, 0x0000000710200000, 0x0000000710300000| 0%| F| |TAMS 0x0000000710200000, 0x0000000710200000| Untracked +| 221|0x0000000710300000, 0x0000000710300000, 0x0000000710400000| 0%| F| |TAMS 0x0000000710300000, 0x0000000710300000| Untracked +| 222|0x0000000710400000, 0x0000000710400000, 0x0000000710500000| 0%| F| |TAMS 0x0000000710400000, 0x0000000710400000| Untracked +| 223|0x0000000710500000, 0x0000000710500000, 0x0000000710600000| 0%| F| |TAMS 0x0000000710500000, 0x0000000710500000| Untracked +| 224|0x0000000710600000, 0x0000000710600000, 0x0000000710700000| 0%| F| |TAMS 0x0000000710600000, 0x0000000710600000| Untracked +| 225|0x0000000710700000, 0x0000000710700000, 0x0000000710800000| 0%| F| |TAMS 0x0000000710700000, 0x0000000710700000| Untracked +| 226|0x0000000710800000, 0x0000000710800000, 0x0000000710900000| 0%| F| |TAMS 0x0000000710800000, 0x0000000710800000| Untracked +| 227|0x0000000710900000, 0x0000000710900000, 0x0000000710a00000| 0%| F| |TAMS 0x0000000710900000, 0x0000000710900000| Untracked +| 228|0x0000000710a00000, 0x0000000710a00000, 0x0000000710b00000| 0%| F| |TAMS 0x0000000710a00000, 0x0000000710a00000| Untracked +| 229|0x0000000710b00000, 0x0000000710b00000, 0x0000000710c00000| 0%| F| |TAMS 0x0000000710b00000, 0x0000000710b00000| Untracked +| 230|0x0000000710c00000, 0x0000000710c00000, 0x0000000710d00000| 0%| F| |TAMS 0x0000000710c00000, 0x0000000710c00000| Untracked +| 231|0x0000000710d00000, 0x0000000710d00000, 0x0000000710e00000| 0%| F| |TAMS 0x0000000710d00000, 0x0000000710d00000| Untracked +| 232|0x0000000710e00000, 0x0000000710e00000, 0x0000000710f00000| 0%| F| |TAMS 0x0000000710e00000, 0x0000000710e00000| Untracked +| 233|0x0000000710f00000, 0x0000000710f00000, 0x0000000711000000| 0%| F| |TAMS 0x0000000710f00000, 0x0000000710f00000| Untracked +| 234|0x0000000711000000, 0x0000000711000000, 0x0000000711100000| 0%| F| |TAMS 0x0000000711000000, 0x0000000711000000| Untracked +| 235|0x0000000711100000, 0x0000000711100000, 0x0000000711200000| 0%| F| |TAMS 0x0000000711100000, 0x0000000711100000| Untracked +| 236|0x0000000711200000, 0x0000000711200000, 0x0000000711300000| 0%| F| |TAMS 0x0000000711200000, 0x0000000711200000| Untracked +| 237|0x0000000711300000, 0x0000000711300000, 0x0000000711400000| 0%| F| |TAMS 0x0000000711300000, 0x0000000711300000| Untracked +| 238|0x0000000711400000, 0x0000000711400000, 0x0000000711500000| 0%| F| |TAMS 0x0000000711400000, 0x0000000711400000| Untracked +| 239|0x0000000711500000, 0x0000000711500000, 0x0000000711600000| 0%| F| |TAMS 0x0000000711500000, 0x0000000711500000| Untracked +| 240|0x0000000711600000, 0x0000000711600000, 0x0000000711700000| 0%| F| |TAMS 0x0000000711600000, 0x0000000711600000| Untracked +| 241|0x0000000711700000, 0x0000000711700000, 0x0000000711800000| 0%| F| |TAMS 0x0000000711700000, 0x0000000711700000| Untracked +| 242|0x0000000711800000, 0x0000000711800000, 0x0000000711900000| 0%| F| |TAMS 0x0000000711800000, 0x0000000711800000| Untracked +| 243|0x0000000711900000, 0x0000000711900000, 0x0000000711a00000| 0%| F| |TAMS 0x0000000711900000, 0x0000000711900000| Untracked +| 244|0x0000000711a00000, 0x0000000711a00000, 0x0000000711b00000| 0%| F| |TAMS 0x0000000711a00000, 0x0000000711a00000| Untracked +| 245|0x0000000711b00000, 0x0000000711b00000, 0x0000000711c00000| 0%| F| |TAMS 0x0000000711b00000, 0x0000000711b00000| Untracked +| 246|0x0000000711c00000, 0x0000000711c00000, 0x0000000711d00000| 0%| F| |TAMS 0x0000000711c00000, 0x0000000711c00000| Untracked +| 247|0x0000000711d00000, 0x0000000711d00000, 0x0000000711e00000| 0%| F| |TAMS 0x0000000711d00000, 0x0000000711d00000| Untracked +| 248|0x0000000711e00000, 0x0000000711e00000, 0x0000000711f00000| 0%| F| |TAMS 0x0000000711e00000, 0x0000000711e00000| Untracked +| 249|0x0000000711f00000, 0x0000000711f00000, 0x0000000712000000| 0%| F| |TAMS 0x0000000711f00000, 0x0000000711f00000| Untracked +| 250|0x0000000712000000, 0x0000000712000000, 0x0000000712100000| 0%| F| |TAMS 0x0000000712000000, 0x0000000712000000| Untracked +| 251|0x0000000712100000, 0x0000000712100000, 0x0000000712200000| 0%| F| |TAMS 0x0000000712100000, 0x0000000712100000| Untracked +| 252|0x0000000712200000, 0x0000000712200000, 0x0000000712300000| 0%| F| |TAMS 0x0000000712200000, 0x0000000712200000| Untracked +| 253|0x0000000712300000, 0x0000000712300000, 0x0000000712400000| 0%| F| |TAMS 0x0000000712300000, 0x0000000712300000| Untracked + +Card table byte_map: [0x0000019a30ba0000,0x0000019a31390000] _byte_map_base: 0x0000019a2d38d000 + +Marking Bits (Prev, Next): (CMBitMap*) 0x0000019a19a6de80, (CMBitMap*) 0x0000019a19a6de48 + Prev Bits: [0x0000019a35af0000, 0x0000019a39a58000) + Next Bits: [0x0000019a31b80000, 0x0000019a35ae8000) + +Polling page: 0x0000019a17910000 + +Metaspace: + +Usage: + Non-class: 29.90 MB capacity, 29.29 MB ( 98%) used, 509.36 KB ( 2%) free+waste, 120.06 KB ( <1%) overhead. + Class: 4.63 MB capacity, 4.22 MB ( 91%) used, 363.15 KB ( 8%) free+waste, 60.81 KB ( 1%) overhead. + Both: 34.54 MB capacity, 33.51 MB ( 97%) used, 872.51 KB ( 2%) free+waste, 180.88 KB ( <1%) overhead. + +Virtual space: + Non-class space: 38.00 MB reserved, 29.92 MB ( 79%) committed + Class space: 1.00 GB reserved, 4.75 MB ( <1%) committed + Both: 1.04 GB reserved, 34.67 MB ( 3%) committed + +Chunk freelists: + Non-Class: 2.63 KB + Class: 2.75 KB + Both: 5.38 KB + +CodeHeap 'non-profiled nmethods': size=238336Kb used=5752Kb max_used=5752Kb free=232584Kb + bounds [0x0000019a217c0000, 0x0000019a21d60000, 0x0000019a30080000] +CodeHeap 'non-nmethods': size=7424Kb used=1251Kb max_used=1251Kb free=6172Kb + bounds [0x0000019a21080000, 0x0000019a212f0000, 0x0000019a217c0000] + total_blobs=4001 nmethods=3504 adapters=431 + compilation: enabled + stopped_count=0, restarted_count=0 + full_count=0 + +Compilation events (10 events): +Event: 5.102 Thread 0x0000019a3c5ed000 3500 1 java.util.HashMap::clear (50 bytes) +Event: 5.102 Thread 0x0000019a3c5ed000 nmethod 3500 0x0000019a21d5ca90 code [0x0000019a21d5cc20, 0x0000019a21d5cd58] +Event: 5.103 Thread 0x0000019a3c5ed000 3501 1 org.springframework.beans.support.ResourceEditorRegistrar::doRegisterEditor (28 bytes) +Event: 5.103 Thread 0x0000019a3c5ed000 nmethod 3501 0x0000019a21d5ce10 code [0x0000019a21d5cfe0, 0x0000019a21d5d318] +Event: 5.103 Thread 0x0000019a3c5ed000 3502 1 org.springframework.beans.PropertyEditorRegistrySupport::overrideDefaultEditor (31 bytes) +Event: 5.103 Thread 0x0000019a3c5ed000 nmethod 3502 0x0000019a21d5d510 code [0x0000019a21d5d6c0, 0x0000019a21d5d8a8] +Event: 5.103 Thread 0x0000019a3c5ed000 3503 1 java.lang.ThreadLocal$ThreadLocalMap::nextIndex (15 bytes) +Event: 5.104 Thread 0x0000019a3c5ed000 nmethod 3503 0x0000019a21d5d990 code [0x0000019a21d5db20, 0x0000019a21d5dbd8] +Event: 5.117 Thread 0x0000019a3c5ed000 3504 1 java.util.logging.Logger::isLoggable (27 bytes) +Event: 5.118 Thread 0x0000019a3c5ed000 nmethod 3504 0x0000019a21d5dc90 code [0x0000019a21d5de20, 0x0000019a21d5df18] + +GC Heap History (10 events): +Event: 2.527 GC heap before +{Heap before GC invocations=0 (full 0): + garbage-first heap total 260096K, used 23552K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 24 young (24576K), 0 survivors (0K) + Metaspace used 13642K, capacity 14015K, committed 14208K, reserved 1062912K + class space used 1439K, capacity 1575K, committed 1664K, reserved 1048576K +} +Event: 2.534 GC heap after +{Heap after GC invocations=1 (full 0): + garbage-first heap total 260096K, used 6943K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 3 young (3072K), 3 survivors (3072K) + Metaspace used 13642K, capacity 14015K, committed 14208K, reserved 1062912K + class space used 1439K, capacity 1575K, committed 1664K, reserved 1048576K +} +Event: 2.790 GC heap before +{Heap before GC invocations=1 (full 0): + garbage-first heap total 260096K, used 24351K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 20 young (20480K), 3 survivors (3072K) + Metaspace used 16060K, capacity 16481K, committed 16640K, reserved 1064960K + class space used 1772K, capacity 1932K, committed 2048K, reserved 1048576K +} +Event: 2.794 GC heap after +{Heap after GC invocations=2 (full 0): + garbage-first heap total 260096K, used 8130K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 2 young (2048K), 2 survivors (2048K) + Metaspace used 16060K, capacity 16481K, committed 16640K, reserved 1064960K + class space used 1772K, capacity 1932K, committed 2048K, reserved 1048576K +} +Event: 3.258 GC heap before +{Heap before GC invocations=2 (full 0): + garbage-first heap total 260096K, used 43970K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 38 young (38912K), 2 survivors (2048K) + Metaspace used 20493K, capacity 21153K, committed 21296K, reserved 1069056K + class space used 2371K, capacity 2656K, committed 2688K, reserved 1048576K +} +Event: 3.263 GC heap after +{Heap after GC invocations=3 (full 0): + garbage-first heap total 260096K, used 9727K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 3 young (3072K), 3 survivors (3072K) + Metaspace used 20493K, capacity 21153K, committed 21296K, reserved 1069056K + class space used 2371K, capacity 2656K, committed 2688K, reserved 1048576K +} +Event: 4.653 GC heap before +{Heap before GC invocations=4 (full 0): + garbage-first heap total 260096K, used 162303K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 152 young (155648K), 3 survivors (3072K) + Metaspace used 31672K, capacity 32700K, committed 32944K, reserved 1077248K + class space used 3947K, capacity 4337K, committed 4352K, reserved 1048576K +} +Event: 4.661 GC heap after +{Heap after GC invocations=5 (full 0): + garbage-first heap total 260096K, used 13711K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 7 young (7168K), 7 survivors (7168K) + Metaspace used 31672K, capacity 32700K, committed 32944K, reserved 1077248K + class space used 3947K, capacity 4337K, committed 4352K, reserved 1048576K +} +Event: 5.134 GC heap before +{Heap before GC invocations=5 (full 0): + garbage-first heap total 260096K, used 47503K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 41 young (41984K), 7 survivors (7168K) + Metaspace used 34311K, capacity 35365K, committed 35504K, reserved 1085440K + class space used 4322K, capacity 4746K, committed 4864K, reserved 1048576K +} +Event: 5.142 GC heap after +{Heap after GC invocations=6 (full 0): + garbage-first heap total 260096K, used 15105K [0x0000000702600000, 0x0000000800000000) + region size 1024K, 8 young (8192K), 8 survivors (8192K) + Metaspace used 34311K, capacity 35365K, committed 35504K, reserved 1085440K + class space used 4322K, capacity 4746K, committed 4864K, reserved 1048576K +} + +Deoptimization events (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (10 events): +Event: 5.012 Thread 0x0000019a19a0f000 Exception (0x0000000710a37920) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line +Event: 5.013 Thread 0x0000019a19a0f000 Exception (0x0000000710a55ee0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.014 Thread 0x0000019a19a0f000 Exception (0x0000000710a713b0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.014 Thread 0x0000019a19a0f000 Exception (0x0000000710a89248) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.015 Thread 0x0000019a19a0f000 Exception (0x0000000710a9ebd0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.016 Thread 0x0000019a19a0f000 Exception (0x0000000710ab1bf8) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.017 Thread 0x0000019a19a0f000 Exception (0x0000000710ac91f0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.018 Thread 0x0000019a19a0f000 Exception (0x0000000710ade238) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.018 Thread 0x0000019a19a0f000 Exception (0x0000000710af4d10) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226] +Event: 5.035 Thread 0x0000019a3ee9e000 Exception (0x00000007108099f0) thrown at [./open/src/hotspot/share/runtime/reflection.cpp, line 1242] + +Events (10 events): +Event: 5.132 loading class org/aspectj/weaver/World$AspectPrecedenceCalculator done +Event: 5.132 loading class org/aspectj/weaver/reflect/ReflectionWorld$ExceptionBasedMessageHandler +Event: 5.132 loading class org/aspectj/weaver/reflect/ReflectionWorld$ExceptionBasedMessageHandler done +Event: 5.133 loading class org/aspectj/weaver/reflect/Java15AnnotationFinder +Event: 5.133 loading class org/aspectj/weaver/reflect/Java15AnnotationFinder done +Event: 5.133 loading class org/aspectj/weaver/reflect/AnnotationFinder +Event: 5.133 loading class org/aspectj/weaver/reflect/AnnotationFinder done +Event: 5.133 loading class org/aspectj/weaver/reflect/ArgNameFinder +Event: 5.133 loading class org/aspectj/weaver/reflect/ArgNameFinder done +Event: 5.134 Executing VM operation: CollectForMetadataAllocation + + +Dynamic libraries: +0x00007ff719a90000 - 0x00007ff719a9f000 D:\development\java\jdk11.0.14\bin\java.exe +0x00007ff81f030000 - 0x00007ff81f225000 C:\WINDOWS\SYSTEM32\ntdll.dll +0x00007ff81d080000 - 0x00007ff81d13d000 C:\WINDOWS\System32\KERNEL32.DLL +0x00007ff81c880000 - 0x00007ff81cb4d000 C:\WINDOWS\System32\KERNELBASE.dll +0x00007ff81ce60000 - 0x00007ff81cf60000 C:\WINDOWS\System32\ucrtbase.dll +0x00007ff8092f0000 - 0x00007ff809308000 D:\development\java\jdk11.0.14\bin\jli.dll +0x00007ff81e9c0000 - 0x00007ff81ea6e000 C:\WINDOWS\System32\ADVAPI32.dll +0x00007ff81e300000 - 0x00007ff81e39e000 C:\WINDOWS\System32\msvcrt.dll +0x00007ff81e3a0000 - 0x00007ff81e43c000 C:\WINDOWS\System32\sechost.dll +0x00007ff81e0e0000 - 0x00007ff81e205000 C:\WINDOWS\System32\RPCRT4.dll +0x00007ff808c20000 - 0x00007ff808c35000 D:\development\java\jdk11.0.14\bin\VCRUNTIME140.dll +0x00007ff81ec40000 - 0x00007ff81ede0000 C:\WINDOWS\System32\USER32.dll +0x00007ff81d050000 - 0x00007ff81d072000 C:\WINDOWS\System32\win32u.dll +0x00007ff81e230000 - 0x00007ff81e25a000 C:\WINDOWS\System32\GDI32.dll +0x00007ff81cd50000 - 0x00007ff81ce5b000 C:\WINDOWS\System32\gdi32full.dll +0x00007ff81cfb0000 - 0x00007ff81d04d000 C:\WINDOWS\System32\msvcp_win.dll +0x00007ff808cd0000 - 0x00007ff808f6a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll +0x00007ff80c4f0000 - 0x00007ff80c4fa000 C:\WINDOWS\SYSTEM32\VERSION.dll +0x00007ff81e2d0000 - 0x00007ff81e300000 C:\WINDOWS\System32\IMM32.DLL +0x00007fffdca10000 - 0x00007fffdcaab000 D:\development\java\jdk11.0.14\bin\msvcp140.dll +0x00007fffc03d0000 - 0x00007fffc0ee6000 D:\development\java\jdk11.0.14\bin\server\jvm.dll +0x00007ff81d140000 - 0x00007ff81d148000 C:\WINDOWS\System32\PSAPI.DLL +0x00007ff8093b0000 - 0x00007ff8093d7000 C:\WINDOWS\SYSTEM32\WINMM.dll +0x00007ff802910000 - 0x00007ff802919000 C:\WINDOWS\SYSTEM32\WSOCK32.dll +0x00007ff81da80000 - 0x00007ff81daeb000 C:\WINDOWS\System32\ws2_32.DLL +0x00007ff81af90000 - 0x00007ff81afa2000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll +0x00007ff814960000 - 0x00007ff814970000 D:\development\java\jdk11.0.14\bin\verify.dll +0x00007ff81a4f0000 - 0x00007ff81a6d4000 C:\WINDOWS\SYSTEM32\DBGHELP.DLL +0x00007ff808ca0000 - 0x00007ff808ccc000 C:\WINDOWS\SYSTEM32\dbgcore.DLL +0x00007ff81c740000 - 0x00007ff81c7c2000 C:\WINDOWS\System32\bcryptPrimitives.dll +0x00007ff806e60000 - 0x00007ff806e88000 D:\development\java\jdk11.0.14\bin\java.dll +0x00007ff806e50000 - 0x00007ff806e5a000 D:\development\java\jdk11.0.14\bin\jimage.dll +0x00007ff807e70000 - 0x00007ff807ea8000 D:\development\java\jdk11.0.14\bin\jdwp.dll +0x00007ff8135c0000 - 0x00007ff8135ce000 D:\development\java\jdk11.0.14\bin\instrument.dll +0x00007ffffafa0000 - 0x00007ffffafb6000 D:\development\java\jdk11.0.14\bin\zip.dll +0x00007ff81d200000 - 0x00007ff81d944000 C:\WINDOWS\System32\SHELL32.dll +0x00007ff81a6e0000 - 0x00007ff81ae74000 C:\WINDOWS\SYSTEM32\windows.storage.dll +0x00007ff81e530000 - 0x00007ff81e884000 C:\WINDOWS\System32\combase.dll +0x00007ff81bff0000 - 0x00007ff81c01c000 C:\WINDOWS\SYSTEM32\Wldp.dll +0x00007ff81eb90000 - 0x00007ff81ec3d000 C:\WINDOWS\System32\SHCORE.dll +0x00007ff81d950000 - 0x00007ff81d9a5000 C:\WINDOWS\System32\shlwapi.dll +0x00007ff81c680000 - 0x00007ff81c69f000 C:\WINDOWS\SYSTEM32\profapi.dll +0x00007ff8135b0000 - 0x00007ff8135ba000 D:\development\java\jdk11.0.14\bin\dt_socket.dll +0x00007ff81bdd0000 - 0x00007ff81be3a000 C:\WINDOWS\system32\mswsock.dll +0x00007ffff2530000 - 0x00007ffff2549000 D:\development\java\jdk11.0.14\bin\net.dll +0x00007ff8199c0000 - 0x00007ff819aca000 C:\WINDOWS\SYSTEM32\WINHTTP.dll +0x00007fffeae90000 - 0x00007fffeaea2000 D:\development\java\jdk11.0.14\bin\nio.dll +0x00007ff808910000 - 0x00007ff80895b000 C:\Program Files (x86)\Sangfor\SSL\ClientComponent\46_SangforNspX64.dll +0x00007ff81e890000 - 0x00007ff81e9ba000 C:\WINDOWS\System32\ole32.dll +0x00007ff81d9b0000 - 0x00007ff81da7d000 C:\WINDOWS\System32\OLEAUT32.dll +0x00007ff81bb20000 - 0x00007ff81bbeb000 C:\WINDOWS\SYSTEM32\DNSAPI.dll +0x00007ff81bae0000 - 0x00007ff81bb1b000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL +0x00007ff81e260000 - 0x00007ff81e268000 C:\WINDOWS\System32\NSI.dll +0x0000000067c80000 - 0x0000000067ca6000 C:\Program Files\Bonjour\mdnsNSP.dll +0x00007ff812a60000 - 0x00007ff812a6a000 C:\Windows\System32\rasadhlp.dll +0x00007ff80da00000 - 0x00007ff80da80000 C:\WINDOWS\System32\fwpuclnt.dll +0x00007ff81cd20000 - 0x00007ff81cd47000 C:\WINDOWS\System32\bcrypt.dll +0x00007ff80ebc0000 - 0x00007ff80ebc9000 D:\development\java\jdk11.0.14\bin\management.dll +0x00007ff80ebb0000 - 0x00007ff80ebbb000 D:\development\java\jdk11.0.14\bin\management_ext.dll +0x00007ff81c030000 - 0x00007ff81c048000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll +0x00007ff81b770000 - 0x00007ff81b7a4000 C:\WINDOWS\system32\rsaenh.dll +0x00007ff81c640000 - 0x00007ff81c66e000 C:\WINDOWS\SYSTEM32\USERENV.dll +0x00007ff81bf60000 - 0x00007ff81bf6c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll +0x00007ff80ed00000 - 0x00007ff80ed17000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL +0x00007ff80ece0000 - 0x00007ff80ecfd000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL +0x00007ffffe290000 - 0x00007ffffe2a7000 C:\WINDOWS\system32\napinsp.dll +0x00007ffff69a0000 - 0x00007ffff69bb000 C:\WINDOWS\system32\pnrpnsp.dll +0x00007ff816b40000 - 0x00007ff816b55000 C:\WINDOWS\system32\wshbth.dll +0x00007ff817790000 - 0x00007ff8177ad000 C:\WINDOWS\system32\NLAapi.dll +0x00007ffff6980000 - 0x00007ffff6992000 C:\WINDOWS\System32\winrnr.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;D:\development\java\jdk11.0.14\bin;C:\WINDOWS\SYSTEM32;C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;D:\development\java\jdk11.0.14\bin\server;C:\Program Files (x86)\Sangfor\SSL\ClientComponent;C:\Program Files\Bonjour + +VM Arguments: +jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:54769,suspend=y,server=n -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:D:\idea\config\IntelliJIDEA202131\system\captureAgent\debugger-agent.jar=file:/C:/Users/zhuyunfeng/AppData/Local/Temp/capture.props -Dfile.encoding=UTF-8 +java_command: com.schbrain.web.SchbrainMainApplication +java_class_path (initial): D:\workspace\schbrain\schbrain-canal\schbrain-canal-web\target\classes;D:\workspace\schbrain\schbrain-canal\schbrain-canal-client\target\classes;E:\maven\localRepository\com\alibaba\otter\canal.client\1.1.5\canal.client-1.1.5.jar;E:\maven\localRepository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;E:\maven\localRepository\io\netty\netty-all\4.1.77.Final\netty-all-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-buffer\4.1.77.Final\netty-buffer-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec\4.1.77.Final\netty-codec-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-dns\4.1.77.Final\netty-codec-dns-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-haproxy\4.1.77.Final\netty-codec-haproxy-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-http\4.1.77.Final\netty-codec-http-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-http2\4.1.77.Final\netty-codec-http2-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-memcache\4.1.77.Final\netty-codec-memcache-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-mqtt\4.1.77.Final\netty-codec-mqtt-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-redis\4.1.77.Final\netty-codec-redis-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-smtp\4.1.77.Final\netty-codec-smtp-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-socks\4.1.77.Final\netty-codec-socks-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-stomp\4.1.77.Final\netty-codec-stomp-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-codec-xml\4.1.77.Final\netty-codec-xml-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-common\4.1.77.Final\netty-common-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-handler\4.1.77.Final\netty-handler-4.1.77.Final.jar;E:\maven\localRepository\io\netty\netty-handler-proxy\4.1.77.Final\netty-handler-proxy-4.1.77.Final.jar;E:\maven +Launcher Type: SUN_STANDARD + +[Global flags] + bool BytecodeVerificationLocal = false {product} {command line} + bool BytecodeVerificationRemote = false {product} {command line} + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 1048576 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 266338304 {product} {ergonomic} + bool ManagementServer = true {product} {command line} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 4255121408 {product} {ergonomic} + size_t MaxNewSize = 2552233984 {product} {ergonomic} + size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 7549744 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 244108496 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 0 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + intx TieredStopAtLevel = 1 {product} {command line} + bool UseCompressedClassPointers = true {lp64_product} {ergonomic} + bool UseCompressedOops = true {lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=D:\development\java\jdk11.0.14 +CLASSPATH=.;D:\development\java\jdk11.0.14\lib\dt.jar;D:\development\java\jdk11.0.14\lib\tools.jar;D:\development\scala-2.12.11\bin;D:\development\scala-2.12.11\lib\dt.jar;D:\development\scala-2.12.11\lib\tools.jar.; +PATH=C:\Program Files\Docker\Docker\Resources\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\IDM Computer Solutions\UltraEdit;D:\development\apache-maven-3.6.3\bin;D:\development\java\jdk11.0.14\bin;D:\development\java\jdk11.0.14\jre\bin;D:\development\gradle-6.6\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;D:\node\node-v14.4.0-win-x64;D:\node\node-v14.4.0-win-x64\node_global;D:\golang\go\bin;D:\development\python;D:\development\python\scripts;D:\Program Files\OpenVPN\bin;D:\development\scala-2.12.11\bin;D:\development\scala-2.12.11\jre\bin;D:\development\spark-2.4.7-bin-hadoop2.7\bin;D:\development\hadoop-2.10.1\bin;C:\Users\zhuyunfeng\AppData\Local\Microsoft\WindowsApps;D:\Program Files\Fiddler;D:\node\node-v14.4.0-win-x64\node_global;C:\Users\zhuyunfeng\AppData\Local\Microsoft\WindowsApps;D:\Program Files\Git\bin;D:\Program Files\Microsoft VS Code\bin;D:\node\node-v14.4.0-win-x64;D:\golang\go\bin;G:\sqlite;;D:\Program Files\JetBrains\IntelliJ IDEA 2021.3.1\bin; +USERNAME=zhuyunfeng +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 10, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10 , 64 bit Build 19041 (10.0.19041.1706) +Hyper-V role detected + +CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 10 microcode 0xe0, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, fma + +Memory: 4k page, system-wide physical 16226M (1760M free) +TotalPageFile size 26466M (AvailPageFile size 4M) +current process WorkingSet (physical memory assigned to process): 260M, peak: 260M +current process commit charge ("private bytes"): 391M, peak: 392M + +vm_info: Java HotSpot(TM) 64-Bit Server VM (11.0.14+8-LTS-263) for windows-amd64 JRE (11.0.14+8-LTS-263), built on Dec 7 2021 21:53:57 by "mach5one" with MS VC++ 15.9 (VS2017) + +END. diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/InsertListenPoint.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/InsertListenPoint.java index 6f454f2..6f8f6b0 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/InsertListenPoint.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/InsertListenPoint.java @@ -23,7 +23,7 @@ public @interface InsertListenPoint { * default for all * @return canal destination */ - @AliasFor(annotation = ListenPoint.class) + @AliasFor(attribute = "destination",annotation = ListenPoint.class) String destination() default ""; /** @@ -31,7 +31,7 @@ public @interface InsertListenPoint { * default for all * @return canal destination */ - @AliasFor(annotation = ListenPoint.class) + @AliasFor(attribute = "schema",annotation = ListenPoint.class) String[] schema() default {}; /** @@ -39,7 +39,7 @@ public @interface InsertListenPoint { * default for all * @return canal destination */ - @AliasFor(annotation = ListenPoint.class) + @AliasFor(attribute = "table",annotation = ListenPoint.class) String[] table() default {}; } diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/TableFilter.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/TableFilter.java index 7bebdc4..82409a1 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/TableFilter.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/TableFilter.java @@ -17,12 +17,12 @@ public @interface TableFilter { * 琛ㄥ悕绉 * @return */ - String table(); + String table() default ""; /** * 鏁版嵁搴撳悕绉 * @return */ - String schame(); + String schame() default ""; } diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/HandlerConf.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/HandlerConf.java new file mode 100644 index 0000000..ad01bdd --- /dev/null +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/HandlerConf.java @@ -0,0 +1,37 @@ +package com.schbrain.canal.client.core; + +import com.schbrain.canal.client.event.CanalEvent; +import lombok.Data; +import lombok.Getter; +import lombok.experimental.Accessors; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author zhuyf + * @date 2022/6/20 + */ +@Getter +@Accessors(fluent = true) +public class HandlerConf { + /** + * 鎵鏈夋墽琛屽櫒 + */ + private final List listeners; + /** + * 琛ㄨ繃婊ゅ櫒 + */ + private final Map> tableCanalEventMap; + /** + * 鍒囬潰鎵ц鍣 + */ + private final List annoListeners; + + public HandlerConf(List listeners, Map> tableCanalEventMap, List annoListeners) { + this.listeners = listeners; + this.tableCanalEventMap = tableCanalEventMap; + this.annoListeners = annoListeners; + } +} diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/SimpleCanalClient.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/SimpleCanalClient.java index 9c08859..4441980 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/SimpleCanalClient.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/core/SimpleCanalClient.java @@ -10,7 +10,12 @@ import com.schbrain.canal.client.event.CanalEvent; import com.schbrain.canal.client.transfer.TransponderFactory; import com.schbrain.canal.client.utils.BeanUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.core.annotation.AnnotatedElementUtils; import org.springframework.core.annotation.AnnotationUtils; + +import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; @@ -27,9 +32,17 @@ public class SimpleCanalClient extends AbstractCanalClient { * executor */ private ThreadPoolExecutor executor; - + /** + * 鎵鏈夋墽琛屽櫒 + */ private final List listeners = new ArrayList<>(); - + /** + * 琛ㄨ繃婊ゅ櫒 + */ + private Map> tableCanalEventMap = new HashMap<>(); + /** + * 鍒囬潰鎵ц鍣 + */ private final List annoListeners = new ArrayList<>(); public SimpleCanalClient(SchbrainCanalConfig canalConfig, TransponderFactory factory) { @@ -42,14 +55,20 @@ public class SimpleCanalClient extends AbstractCanalClient { log.info("{}: initializing the listeners....", Thread.currentThread().getName()); List list = BeanUtil.getBeansOfType(CanalEvent.class); if(list!=null && list.size() > 0){ + List unFilters = new ArrayList<>(); for (CanalEvent canalEvent : list) { - TableFilter table = canalEvent.getClass().getAnnotation(TableFilter.class); - if(table!=null){ - System.out.println(table.schame()); - System.out.println(table.table()); + TableFilter filter = canalEvent.getClass().getAnnotation(TableFilter.class); + if(filter!=null && StringUtils.isNotBlank(filter.schame()) && StringUtils.isNotBlank(filter.table())){ + String key = filter.schame()+":"+filter.table(); + List filterList = MapUtils.getObject(tableCanalEventMap,key,new ArrayList<>()); + filterList.add(canalEvent); + continue; } + unFilters.add(canalEvent); + } + if(unFilters!=null && unFilters.size()>0){ + listeners.addAll(unFilters); } - listeners.addAll(list); } Map listenerMap = BeanUtil.getBeansWithAnnotation(CanalEventListener.class); if (listenerMap != null) { @@ -57,7 +76,7 @@ public class SimpleCanalClient extends AbstractCanalClient { Method[] methods = target.getClass().getDeclaredMethods(); if (methods != null && methods.length > 0) { for (Method method : methods) { - ListenPoint l = AnnotationUtils.findAnnotation(method, ListenPoint.class); + ListenPoint l = AnnotatedElementUtils.findMergedAnnotation(method,ListenPoint.class); if (l != null) { annoListeners.add(new ListenerPoint(target, method, l)); } @@ -73,8 +92,8 @@ public class SimpleCanalClient extends AbstractCanalClient { @Override protected void process(CanalConnector connector, Map.Entry config) { - executor.submit(factory.newTransponder(connector, config, listeners, annoListeners)); - //factory.newTransponder(connector, config, listeners, annoListeners).run(); + HandlerConf handlerConf = new HandlerConf(listeners,tableCanalEventMap,annoListeners); + executor.submit(factory.newTransponder(connector, config,handlerConf)); } @Override diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractBasicMessageTransponder.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractBasicMessageTransponder.java index a97d75a..efbc2fa 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractBasicMessageTransponder.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractBasicMessageTransponder.java @@ -5,11 +5,11 @@ import com.alibaba.otter.canal.protocol.CanalEntry; import com.alibaba.otter.canal.protocol.Message; import com.schbrain.canal.client.annotation.ListenPoint; import com.schbrain.canal.client.conf.CanalClientConfig; +import com.schbrain.canal.client.core.HandlerConf; import com.schbrain.canal.client.core.ListenerPoint; import com.schbrain.canal.client.event.CanalEvent; import com.schbrain.canal.client.exception.CanalClientException; import lombok.extern.slf4j.Slf4j; - import java.lang.reflect.Method; import java.util.Collections; import java.util.List; @@ -23,8 +23,8 @@ import java.util.function.Predicate; @Slf4j public abstract class AbstractBasicMessageTransponder extends AbstractMessageTransponder{ - public AbstractBasicMessageTransponder(CanalConnector connector, Map.Entry config, List listeners, List annoListeners) { - super(connector, config, listeners, annoListeners); + public AbstractBasicMessageTransponder(CanalConnector connector, Map.Entry config, HandlerConf handlerConf) { + super(connector, config,handlerConf); } @Override @@ -53,8 +53,7 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra distributeByImpl(header,rowChange.getEventType(), rowData); //distribute to annotation listener interfaces distributeByAnnotation(destination, - entry.getHeader().getSchemaName(), - entry.getHeader().getTableName(), + header, rowChange.getEventType(), rowData); } @@ -68,38 +67,64 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra * @param rowData rowData */ protected void distributeByImpl(CanalEntry.Header header,CanalEntry.EventType eventType, CanalEntry.RowData rowData) { - if (listeners != null) { - for (CanalEvent listener : listeners) { - listener.onEvent(header,eventType, rowData); + if(handlerConf == null){ + return; + } + //甯﹁繃婊ゅ櫒鐨勬墽琛 + Map> filterEvent = handlerConf.tableCanalEventMap(); + if(filterEvent!=null){ + String key = header.getSchemaName()+":"+header.getTableName(); + List events = filterEvent.get(key); + if(events!=null && events.size()>0){ + for (CanalEvent event : events) { + doEvent(event,header,eventType, rowData); + } + } + } + //鍏ㄩ儴鎵ц + List allEvents = handlerConf.listeners(); + if(allEvents!=null && allEvents.size()>0){ + for (CanalEvent event : allEvents) { + doEvent(event,header,eventType, rowData); } } } + private void doEvent(CanalEvent event,CanalEntry.Header header,CanalEntry.EventType eventType,CanalEntry.RowData rowData){ + try { + event.onEvent(header,eventType, rowData); + }catch (Exception e){ + log.warn("event handel error",e); + } + } + /** * distribute to annotation listener interfaces * * @param destination destination - * @param schemaName schema - * @param tableName table name + * @param header header * @param eventType event type * @param rowData row data */ protected void distributeByAnnotation(String destination, - String schemaName, - String tableName, + CanalEntry.Header header, CanalEntry.EventType eventType, CanalEntry.RowData rowData) { + List points = handlerConf.annoListeners(); + if(points==null){ + return; + } //invoke the listeners - annoListeners.forEach(point -> point + points.forEach(point -> point .getInvokeMap() .entrySet() .stream() - .filter(getAnnotationFilter(destination, schemaName, tableName, eventType)) + .filter(getAnnotationFilter(destination, header, eventType)) .forEach(entry -> { Method method = entry.getKey(); method.setAccessible(true); try { - Object[] args = getInvokeArgs(method, eventType, rowData); + Object[] args = getInvokeArgs(method,header,eventType, rowData); method.invoke(point.getTarget(), args); } catch (Exception e) { log.error("{}: Error occurred when invoke the listener's interface! class:{}, method:{}", @@ -112,14 +137,12 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra /** * get the filters predicate * @param destination destination - * @param schemaName schema - * @param tableName table name + * @param header * @param eventType event type * @return predicate */ protected abstract Predicate> getAnnotationFilter(String destination, - String schemaName, - String tableName, + CanalEntry.Header header, CanalEntry.EventType eventType); /** @@ -129,7 +152,7 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra * @param rowData row data * @return args which will be used by invoking the annotation methods */ - protected abstract Object[] getInvokeArgs(Method method, CanalEntry.EventType eventType,CanalEntry.RowData rowData); + protected abstract Object[] getInvokeArgs(Method method,CanalEntry.Header header,CanalEntry.EventType eventType,CanalEntry.RowData rowData); /** * ddl浜嬩欢 diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractMessageTransponder.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractMessageTransponder.java index 2a6397c..0947f31 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractMessageTransponder.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/AbstractMessageTransponder.java @@ -4,6 +4,7 @@ import com.alibaba.otter.canal.client.CanalConnector; import com.alibaba.otter.canal.protocol.Message; import com.alibaba.otter.canal.protocol.exception.CanalClientException; import com.schbrain.canal.client.conf.CanalClientConfig; +import com.schbrain.canal.client.core.HandlerConf; import com.schbrain.canal.client.core.ListenerPoint; import com.schbrain.canal.client.event.CanalEvent; import lombok.extern.slf4j.Slf4j; @@ -37,16 +38,7 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { */ protected final String destination; - /** - * listeners which are used by implementing the Interface - */ - protected final List listeners = new ArrayList<>(); - - /** - * listeners which are used by annotation - */ - protected final List annoListeners = new ArrayList<>(); - + protected final HandlerConf handlerConf; /** * running flag */ @@ -54,19 +46,13 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { public AbstractMessageTransponder(CanalConnector connector, Map.Entry config, - List listeners, - List annoListeners) { + HandlerConf handlerConf) { Objects.requireNonNull(connector, "connector can not be null!"); Objects.requireNonNull(config, "config can not be null!"); this.connector = connector; this.destination = config.getKey(); this.config = config.getValue(); - if (listeners != null) { - this.listeners.addAll(listeners); - } - if (annoListeners != null){ - this.annoListeners.addAll(annoListeners); - } + this.handlerConf = handlerConf; } @Override @@ -80,12 +66,12 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { long batchId = message.getId(); int size = message.getEntries().size(); if (log.isDebugEnabled()) { - log.debug("{}: Get message from canal server >>>>> size:{}", threadName, size); + //log.debug("{}: Get message from canal server >>>>> size:{}", threadName, size); } //empty message if (batchId == -1 || size == 0) { if (log.isDebugEnabled()) { - log.debug("{}: Empty message... sleep for {} millis", threadName, interval); + //log.debug("{}: Empty message... sleep for {} millis", threadName, interval); } Thread.sleep(interval); } else { @@ -93,7 +79,7 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { } connector.ack(batchId); if (log.isDebugEnabled()) { - log.debug("{}: Ack message. batchId:{}", threadName, batchId); + //log.debug("{}: Ack message. batchId:{}", threadName, batchId); } } catch (CanalClientException e) { errorCount--; diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultMessageTransponder.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultMessageTransponder.java index aa0d9ff..a8bdef6 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultMessageTransponder.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultMessageTransponder.java @@ -4,9 +4,8 @@ import com.alibaba.otter.canal.client.CanalConnector; import com.alibaba.otter.canal.protocol.CanalEntry; import com.schbrain.canal.client.annotation.ListenPoint; import com.schbrain.canal.client.conf.CanalClientConfig; -import com.schbrain.canal.client.core.ListenerPoint; -import com.schbrain.canal.client.event.CanalEvent; -import org.springframework.util.StringUtils; +import com.schbrain.canal.client.core.HandlerConf; +import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Method; import java.util.Arrays; @@ -21,33 +20,73 @@ import java.util.function.Predicate; public class DefaultMessageTransponder extends AbstractBasicMessageTransponder{ public DefaultMessageTransponder(CanalConnector connector, - Map.Entry config, - List listeners, - List annoListeners) { - super(connector, config, listeners, annoListeners); + Map.Entry config, HandlerConf handlerConf) { + super(connector, config,handlerConf); } @Override - protected Predicate> getAnnotationFilter(String destination, String schemaName, String tableName, CanalEntry.EventType eventType) { - Predicate> df = e -> StringUtils.isEmpty(e.getValue().destination()) - || e.getValue().destination().equals(destination); - Predicate> sf = e -> e.getValue().schema().length == 0 - || Arrays.stream(e.getValue().schema()).anyMatch(s -> s.equals(schemaName)); - Predicate> tf = e -> e.getValue().table().length == 0 - || Arrays.stream(e.getValue().table()).anyMatch(t -> t.equals(tableName)); - Predicate> ef = e -> e.getValue().eventType().length == 0 - || Arrays.stream(e.getValue().eventType()).anyMatch(ev -> ev == eventType); + protected Predicate> getAnnotationFilter(String destination,CanalEntry.Header header, CanalEntry.EventType eventType) { + Predicate> df = (e->{ + if(StringUtils.isBlank(e.getValue().destination())){ + return true; + } + return e.getValue().destination().equals(destination); + }); + Predicate> sf = (e->{ + if(e.getValue().schema() == null || e.getValue().schema().length ==0){ + return true; + } + String schemaName = header.getSchemaName(); + for (String s : e.getValue().schema()) { + if(schemaName.equals(s)){ + return true; + } + } + return false; + }); + Predicate> tf = (e->{ + if(e.getValue().table() == null || e.getValue().table().length ==0){ + return true; + } + String tableName = header.getTableName(); + for (String s : e.getValue().table()) { + if(tableName.equals(s)){ + return true; + } + } + return false; + }); + Predicate> ef = (e->{ + if(e.getValue().eventType() == null || e.getValue().eventType().length ==0){ + return true; + } + for (CanalEntry.EventType eventType1 : e.getValue().eventType()) { + if(eventType1 == eventType){ + return true; + } + } + return false; + }); return df.and(sf).and(tf).and(ef); } @Override - protected Object[] getInvokeArgs(Method method, CanalEntry.EventType eventType, CanalEntry.RowData rowData) { - return Arrays.stream(method.getParameterTypes()) - .map(p -> p == CanalEntry.EventType.class - ? eventType - : p == CanalEntry.RowData.class - ? rowData : null) - .toArray(); + protected Object[] getInvokeArgs(Method method,CanalEntry.Header header,CanalEntry.EventType eventType, CanalEntry.RowData rowData) { + Class[] classes = method.getParameterTypes(); + Object[] args = new Object[classes.length]; + for (int i = 0; i < classes.length; i++) { + Class p = classes[i]; + Object arg = null; + if(p == CanalEntry.EventType.class){ + arg = eventType; + }else if(p == CanalEntry.Header.class){ + arg = header; + }else if(p == CanalEntry.RowData.class){ + arg = rowData; + } + args[i] = arg; + } + return args; } diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultTransponderFactory.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultTransponderFactory.java index 6166bcc..dbe3acb 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultTransponderFactory.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/DefaultTransponderFactory.java @@ -2,6 +2,7 @@ package com.schbrain.canal.client.transfer; import com.alibaba.otter.canal.client.CanalConnector; import com.schbrain.canal.client.conf.CanalClientConfig; +import com.schbrain.canal.client.core.HandlerConf; import com.schbrain.canal.client.core.ListenerPoint; import com.schbrain.canal.client.event.CanalEvent; @@ -15,7 +16,7 @@ import java.util.Map; public class DefaultTransponderFactory implements TransponderFactory{ @Override - public MessageTransponder newTransponder(CanalConnector connector, Map.Entry config, List listeners, List annoListeners) { - return new DefaultMessageTransponder(connector, config, listeners, annoListeners); + public MessageTransponder newTransponder(CanalConnector connector, Map.Entry config, HandlerConf handlerConf) { + return new DefaultMessageTransponder(connector, config,handlerConf); } } diff --git a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/TransponderFactory.java b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/TransponderFactory.java index 5669a5b..7a0d05d 100644 --- a/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/TransponderFactory.java +++ b/schbrain-canal-client/src/main/java/com/schbrain/canal/client/transfer/TransponderFactory.java @@ -2,6 +2,7 @@ package com.schbrain.canal.client.transfer; import com.alibaba.otter.canal.client.CanalConnector; import com.schbrain.canal.client.conf.CanalClientConfig; +import com.schbrain.canal.client.core.HandlerConf; import com.schbrain.canal.client.core.ListenerPoint; import com.schbrain.canal.client.event.CanalEvent; @@ -17,9 +18,7 @@ public interface TransponderFactory { /** * @param connector connector * @param config config - * @param listeners listeners - * @param annoListeners annoListeners * @return MessageTransponder */ - MessageTransponder newTransponder(CanalConnector connector, Map.Entry config, List listeners, List annoListeners); + MessageTransponder newTransponder(CanalConnector connector, Map.Entry config,HandlerConf handlerConf); } diff --git a/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent.java b/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent.java index 6125046..baf6731 100644 --- a/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent.java +++ b/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent.java @@ -2,43 +2,29 @@ package com.schbrain.web; import com.alibaba.otter.canal.protocol.CanalEntry; import com.schbrain.canal.client.annotation.TableFilter; -import com.schbrain.canal.client.event.CanalEvent; +import com.schbrain.canal.client.event.DefCanalEvent; import org.springframework.stereotype.Service; -import java.util.List; - /** * @author zhuyf * @date 2022/6/16 */ @Service("myCanalEvent") -@TableFilter(table = "uc_user_info",schame = "kp_user") //鏆傛椂鏈疄鐜 -public class MyCanalEvent implements CanalEvent { +@TableFilter(table = "wechat_user",schame = "kp_user") +public class MyCanalEvent implements DefCanalEvent { @Override - public void onEvent(CanalEntry.Header header,CanalEntry.EventType eventType, CanalEntry.RowData rowData) { - System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+eventType.name()); - //濡傛灉鏄垹闄よ鍙 - if (eventType == CanalEntry.EventType.DELETE) { - printColumn(rowData.getBeforeColumnsList()); - //濡傛灉鏄柊澧炶鍙 - } else if (eventType == CanalEntry.EventType.INSERT) { - printColumn(rowData.getAfterColumnsList()); - //濡傛灉鏄洿鏂扮殑璇彞 - } else { - //鍙樻洿鍓嶇殑鏁版嵁 - System.out.println("------->; before"); - printColumn(rowData.getBeforeColumnsList()); - //鍙樻洿鍚庣殑鏁版嵁 - System.out.println("------->; after"); - printColumn(rowData.getAfterColumnsList()); - } + public void onInsert(CanalEntry.Header header, CanalEntry.RowData rowData) { + System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"insert"); + } + @Override + public void onUpdate(CanalEntry.Header header, CanalEntry.RowData rowData) { + System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"update"); } - private static void printColumn(List columns) { - for (CanalEntry.Column column : columns) { - System.out.println(column.getName() + " : " + column.getValue() + " update=" + column.getUpdated()); - } + @Override + public void onDelete(CanalEntry.Header header, CanalEntry.RowData rowData) { + System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"delete"); } } diff --git a/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent2.java b/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent2.java new file mode 100644 index 0000000..57c9fbf --- /dev/null +++ b/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent2.java @@ -0,0 +1,30 @@ +package com.schbrain.web; + +import com.alibaba.otter.canal.protocol.CanalEntry; +import com.schbrain.canal.client.annotation.TableFilter; +import com.schbrain.canal.client.event.DefCanalEvent; +import org.springframework.stereotype.Service; + +/** + * @author zhuyf + * @date 2022/6/16 + */ +@Service("myCanalEvent2") +@TableFilter(table = "ding_talk_user",schame = "kp_user") +public class MyCanalEvent2 implements DefCanalEvent { + + @Override + public void onInsert(CanalEntry.Header header, CanalEntry.RowData rowData) { + System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"insert"); + } + + @Override + public void onUpdate(CanalEntry.Header header, CanalEntry.RowData rowData) { + System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"update"); + } + + @Override + public void onDelete(CanalEntry.Header header, CanalEntry.RowData rowData) { + System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"delete"); + } +} diff --git a/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent3.java b/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent3.java new file mode 100644 index 0000000..97b1b78 --- /dev/null +++ b/schbrain-canal-web/src/main/java/com/schbrain/web/MyCanalEvent3.java @@ -0,0 +1,29 @@ +package com.schbrain.web; + +import com.alibaba.otter.canal.protocol.CanalEntry; +import com.schbrain.canal.client.annotation.CanalEventListener; +import com.schbrain.canal.client.annotation.InsertListenPoint; +import com.schbrain.canal.client.annotation.UpdateListenPoint; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @author zhuyf + * @date 2022/6/16 + */ +@CanalEventListener +public class MyCanalEvent3 { + + @Autowired + private UserService userService; + + @InsertListenPoint(destination = "kp_user",schema = {"kp_user"},table={"wechat_user"}) + public void onInsert(CanalEntry.Header header, CanalEntry.RowData rowData) { + String user = userService.getUser(); + System.out.println("MyCanalEvent3======"+header.getSchemaName()+":"+header.getTableName()+":"+"onInsert,user:+"+user); + } + + @UpdateListenPoint(destination = "kp_user",schema = {"kp_user"},table={"wechat_user"}) + public void onUpdate(CanalEntry.Header header, CanalEntry.RowData rowData) { + System.out.println("MyCanalEvent3======"+header.getSchemaName()+":"+header.getTableName()+":"+"onUpdate"); + } +} diff --git a/schbrain-canal-web/src/main/java/com/schbrain/web/UserService.java b/schbrain-canal-web/src/main/java/com/schbrain/web/UserService.java new file mode 100644 index 0000000..ff8ba61 --- /dev/null +++ b/schbrain-canal-web/src/main/java/com/schbrain/web/UserService.java @@ -0,0 +1,21 @@ +package com.schbrain.web; + +import com.alibaba.otter.canal.protocol.CanalEntry; +import com.schbrain.canal.client.annotation.CanalEventListener; +import com.schbrain.canal.client.annotation.InsertListenPoint; +import com.schbrain.canal.client.annotation.UpdateListenPoint; +import org.springframework.stereotype.Service; + +/** + * @author zhuyf + * @date 2022/6/16 + */ +@Service +public class UserService { + + String getUser(){ + return "1"; + } + + +} diff --git a/schbrain-canal-web/src/main/resources/application.properties b/schbrain-canal-web/src/main/resources/application.properties index 5f1d2f6..3772c31 100644 --- a/schbrain-canal-web/src/main/resources/application.properties +++ b/schbrain-canal-web/src/main/resources/application.properties @@ -1,17 +1,24 @@ -#canal.client.instances.example.host=192.168.0.59 canal.client.instances.kp_user.addresses=192.168.36.66:11111 canal.client.instances.kp_user.username= canal.client.instances.kp_user.password= canal.client.instances.kp_user.retryCount=10 -#canal.client.instances.kp_user.zkHosts=192.168.22.22:2181,192.168.22.26:2181,192.168.22.21:2181 +canal.client.instances.kp_user.zkHosts=192.168.22.22:2181,192.168.22.26:2181,192.168.22.21:2181 -canal.client.instances.screenschbrain.addresses=192.168.36.66:11111 -canal.client.instances.screenschbrain.username= -canal.client.instances.screenschbrain.password= -canal.client.instances.screenschbrain.retryCount=10 -#canal.client.instances.screenschbrain.subscribe=.*\\\\..* +#canal.client.instances.screenschbrain.addresses=192.168.36.66:11111 +#canal.client.instances.screenschbrain.username= +#canal.client.instances.screenschbrain.password= +#canal.client.instances.screenschbrain.retryCount=10 +#canal.client.instances.screenschbrain.subscribe=kp_weekly.comment_student #canal.client.instances.screenschbrain.zkHosts=192.168.22.22:2181,192.168.22.26:2181,192.168.22.21:2181 +canal.client.instances.qicheng_czzs.addresses=192.168.36.66:11111 +canal.client.instances.qicheng_czzs.username= +canal.client.instances.qicheng_czzs.password= +canal.client.instances.qicheng_czzs.retryCount=10 +canal.client.instances.qicheng_czzs.zkHosts=192.168.22.22:2181,192.168.22.26:2181,192.168.22.21:2181 + + + diff --git a/schbrain-canal-web/src/main/resources/logback.xml b/schbrain-canal-web/src/main/resources/logback.xml index 9aa44cf..af53833 100644 --- a/schbrain-canal-web/src/main/resources/logback.xml +++ b/schbrain-canal-web/src/main/resources/logback.xml @@ -30,7 +30,7 @@ - + -- GitLab