Commit ac5fdf02 authored by zhuyunfeng's avatar zhuyunfeng

注解测试

parent 9f76e74e
#
# 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 <a 'java/lang/ClassNotFoundException'{0x0000000710a37920}: org/springframework/beans/factory/config/SmartInstantiationAwareBeanPostProcessorCustomizer> (0x0000000710a37920) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line
Event: 5.013 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710a55ee0}: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorCustomizer> (0x0000000710a55ee0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.014 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710a713b0}: org/springframework/beans/factory/config/BeanPostProcessorCustomizer> (0x0000000710a713b0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.014 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710a89248}: org/springframework/beans/factory/BeanFactoryAwareCustomizer> (0x0000000710a89248) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.015 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710a9ebd0}: org/springframework/beans/factory/AwareCustomizer> (0x0000000710a9ebd0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.016 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710ab1bf8}: org/springframework/core/OrderedCustomizer> (0x0000000710ab1bf8) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.017 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710ac91f0}: org/springframework/beans/factory/BeanClassLoaderAwareCustomizer> (0x0000000710ac91f0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.018 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710ade238}: org/springframework/beans/factory/AwareCustomizer> (0x0000000710ade238) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.018 Thread 0x0000019a19a0f000 Exception <a 'java/lang/ClassNotFoundException'{0x0000000710af4d10}: org/springframework/aop/framework/AopInfrastructureBeanCustomizer> (0x0000000710af4d10) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 226]
Event: 5.035 Thread 0x0000019a3ee9e000 Exception <a 'java/lang/reflect/InvocationTargetException'{0x00000007108099f0}> (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.
...@@ -23,7 +23,7 @@ public @interface InsertListenPoint { ...@@ -23,7 +23,7 @@ public @interface InsertListenPoint {
* default for all * default for all
* @return canal destination * @return canal destination
*/ */
@AliasFor(annotation = ListenPoint.class) @AliasFor(attribute = "destination",annotation = ListenPoint.class)
String destination() default ""; String destination() default "";
/** /**
...@@ -31,7 +31,7 @@ public @interface InsertListenPoint { ...@@ -31,7 +31,7 @@ public @interface InsertListenPoint {
* default for all * default for all
* @return canal destination * @return canal destination
*/ */
@AliasFor(annotation = ListenPoint.class) @AliasFor(attribute = "schema",annotation = ListenPoint.class)
String[] schema() default {}; String[] schema() default {};
/** /**
...@@ -39,7 +39,7 @@ public @interface InsertListenPoint { ...@@ -39,7 +39,7 @@ public @interface InsertListenPoint {
* default for all * default for all
* @return canal destination * @return canal destination
*/ */
@AliasFor(annotation = ListenPoint.class) @AliasFor(attribute = "table",annotation = ListenPoint.class)
String[] table() default {}; String[] table() default {};
} }
...@@ -17,12 +17,12 @@ public @interface TableFilter { ...@@ -17,12 +17,12 @@ public @interface TableFilter {
* 表名称 * 表名称
* @return * @return
*/ */
String table(); String table() default "";
/** /**
* 数据库名称 * 数据库名称
* @return * @return
*/ */
String schame(); String schame() default "";
} }
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<CanalEvent> listeners;
/**
* 表过滤器
*/
private final Map<String,List<CanalEvent>> tableCanalEventMap;
/**
* 切面执行器
*/
private final List<ListenerPoint> annoListeners;
public HandlerConf(List<CanalEvent> listeners, Map<String, List<CanalEvent>> tableCanalEventMap, List<ListenerPoint> annoListeners) {
this.listeners = listeners;
this.tableCanalEventMap = tableCanalEventMap;
this.annoListeners = annoListeners;
}
}
...@@ -10,7 +10,12 @@ import com.schbrain.canal.client.event.CanalEvent; ...@@ -10,7 +10,12 @@ import com.schbrain.canal.client.event.CanalEvent;
import com.schbrain.canal.client.transfer.TransponderFactory; import com.schbrain.canal.client.transfer.TransponderFactory;
import com.schbrain.canal.client.utils.BeanUtil; import com.schbrain.canal.client.utils.BeanUtil;
import lombok.extern.slf4j.Slf4j; 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 org.springframework.core.annotation.AnnotationUtils;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -27,9 +32,17 @@ public class SimpleCanalClient extends AbstractCanalClient { ...@@ -27,9 +32,17 @@ public class SimpleCanalClient extends AbstractCanalClient {
* executor * executor
*/ */
private ThreadPoolExecutor executor; private ThreadPoolExecutor executor;
/**
* 所有执行器
*/
private final List<CanalEvent> listeners = new ArrayList<>(); private final List<CanalEvent> listeners = new ArrayList<>();
/**
* 表过滤器
*/
private Map<String,List<CanalEvent>> tableCanalEventMap = new HashMap<>();
/**
* 切面执行器
*/
private final List<ListenerPoint> annoListeners = new ArrayList<>(); private final List<ListenerPoint> annoListeners = new ArrayList<>();
public SimpleCanalClient(SchbrainCanalConfig canalConfig, TransponderFactory factory) { public SimpleCanalClient(SchbrainCanalConfig canalConfig, TransponderFactory factory) {
...@@ -42,14 +55,20 @@ public class SimpleCanalClient extends AbstractCanalClient { ...@@ -42,14 +55,20 @@ public class SimpleCanalClient extends AbstractCanalClient {
log.info("{}: initializing the listeners....", Thread.currentThread().getName()); log.info("{}: initializing the listeners....", Thread.currentThread().getName());
List<CanalEvent> list = BeanUtil.getBeansOfType(CanalEvent.class); List<CanalEvent> list = BeanUtil.getBeansOfType(CanalEvent.class);
if(list!=null && list.size() > 0){ if(list!=null && list.size() > 0){
List<CanalEvent> unFilters = new ArrayList<>();
for (CanalEvent canalEvent : list) { for (CanalEvent canalEvent : list) {
TableFilter table = canalEvent.getClass().getAnnotation(TableFilter.class); TableFilter filter = canalEvent.getClass().getAnnotation(TableFilter.class);
if(table!=null){ if(filter!=null && StringUtils.isNotBlank(filter.schame()) && StringUtils.isNotBlank(filter.table())){
System.out.println(table.schame()); String key = filter.schame()+":"+filter.table();
System.out.println(table.table()); List<CanalEvent> 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<String, Object> listenerMap = BeanUtil.getBeansWithAnnotation(CanalEventListener.class); Map<String, Object> listenerMap = BeanUtil.getBeansWithAnnotation(CanalEventListener.class);
if (listenerMap != null) { if (listenerMap != null) {
...@@ -57,7 +76,7 @@ public class SimpleCanalClient extends AbstractCanalClient { ...@@ -57,7 +76,7 @@ public class SimpleCanalClient extends AbstractCanalClient {
Method[] methods = target.getClass().getDeclaredMethods(); Method[] methods = target.getClass().getDeclaredMethods();
if (methods != null && methods.length > 0) { if (methods != null && methods.length > 0) {
for (Method method : methods) { for (Method method : methods) {
ListenPoint l = AnnotationUtils.findAnnotation(method, ListenPoint.class); ListenPoint l = AnnotatedElementUtils.findMergedAnnotation(method,ListenPoint.class);
if (l != null) { if (l != null) {
annoListeners.add(new ListenerPoint(target, method, l)); annoListeners.add(new ListenerPoint(target, method, l));
} }
...@@ -73,8 +92,8 @@ public class SimpleCanalClient extends AbstractCanalClient { ...@@ -73,8 +92,8 @@ public class SimpleCanalClient extends AbstractCanalClient {
@Override @Override
protected void process(CanalConnector connector, Map.Entry<String, CanalClientConfig> config) { protected void process(CanalConnector connector, Map.Entry<String, CanalClientConfig> config) {
executor.submit(factory.newTransponder(connector, config, listeners, annoListeners)); HandlerConf handlerConf = new HandlerConf(listeners,tableCanalEventMap,annoListeners);
//factory.newTransponder(connector, config, listeners, annoListeners).run(); executor.submit(factory.newTransponder(connector, config,handlerConf));
} }
@Override @Override
......
...@@ -5,11 +5,11 @@ import com.alibaba.otter.canal.protocol.CanalEntry; ...@@ -5,11 +5,11 @@ import com.alibaba.otter.canal.protocol.CanalEntry;
import com.alibaba.otter.canal.protocol.Message; import com.alibaba.otter.canal.protocol.Message;
import com.schbrain.canal.client.annotation.ListenPoint; import com.schbrain.canal.client.annotation.ListenPoint;
import com.schbrain.canal.client.conf.CanalClientConfig; 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.core.ListenerPoint;
import com.schbrain.canal.client.event.CanalEvent; import com.schbrain.canal.client.event.CanalEvent;
import com.schbrain.canal.client.exception.CanalClientException; import com.schbrain.canal.client.exception.CanalClientException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
...@@ -23,8 +23,8 @@ import java.util.function.Predicate; ...@@ -23,8 +23,8 @@ import java.util.function.Predicate;
@Slf4j @Slf4j
public abstract class AbstractBasicMessageTransponder extends AbstractMessageTransponder{ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTransponder{
public AbstractBasicMessageTransponder(CanalConnector connector, Map.Entry<String, CanalClientConfig> config, List<CanalEvent> listeners, List<ListenerPoint> annoListeners) { public AbstractBasicMessageTransponder(CanalConnector connector, Map.Entry<String, CanalClientConfig> config, HandlerConf handlerConf) {
super(connector, config, listeners, annoListeners); super(connector, config,handlerConf);
} }
@Override @Override
...@@ -53,8 +53,7 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra ...@@ -53,8 +53,7 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra
distributeByImpl(header,rowChange.getEventType(), rowData); distributeByImpl(header,rowChange.getEventType(), rowData);
//distribute to annotation listener interfaces //distribute to annotation listener interfaces
distributeByAnnotation(destination, distributeByAnnotation(destination,
entry.getHeader().getSchemaName(), header,
entry.getHeader().getTableName(),
rowChange.getEventType(), rowChange.getEventType(),
rowData); rowData);
} }
...@@ -68,38 +67,64 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra ...@@ -68,38 +67,64 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra
* @param rowData rowData * @param rowData rowData
*/ */
protected void distributeByImpl(CanalEntry.Header header,CanalEntry.EventType eventType, CanalEntry.RowData rowData) { protected void distributeByImpl(CanalEntry.Header header,CanalEntry.EventType eventType, CanalEntry.RowData rowData) {
if (listeners != null) { if(handlerConf == null){
for (CanalEvent listener : listeners) { return;
listener.onEvent(header,eventType, rowData); }
//带过滤器的执行
Map<String,List<CanalEvent>> filterEvent = handlerConf.tableCanalEventMap();
if(filterEvent!=null){
String key = header.getSchemaName()+":"+header.getTableName();
List<CanalEvent> events = filterEvent.get(key);
if(events!=null && events.size()>0){
for (CanalEvent event : events) {
doEvent(event,header,eventType, rowData);
}
}
}
//全部执行
List<CanalEvent> 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 * distribute to annotation listener interfaces
* *
* @param destination destination * @param destination destination
* @param schemaName schema * @param header header
* @param tableName table name
* @param eventType event type * @param eventType event type
* @param rowData row data * @param rowData row data
*/ */
protected void distributeByAnnotation(String destination, protected void distributeByAnnotation(String destination,
String schemaName, CanalEntry.Header header,
String tableName,
CanalEntry.EventType eventType, CanalEntry.EventType eventType,
CanalEntry.RowData rowData) { CanalEntry.RowData rowData) {
List<ListenerPoint> points = handlerConf.annoListeners();
if(points==null){
return;
}
//invoke the listeners //invoke the listeners
annoListeners.forEach(point -> point points.forEach(point -> point
.getInvokeMap() .getInvokeMap()
.entrySet() .entrySet()
.stream() .stream()
.filter(getAnnotationFilter(destination, schemaName, tableName, eventType)) .filter(getAnnotationFilter(destination, header, eventType))
.forEach(entry -> { .forEach(entry -> {
Method method = entry.getKey(); Method method = entry.getKey();
method.setAccessible(true); method.setAccessible(true);
try { try {
Object[] args = getInvokeArgs(method, eventType, rowData); Object[] args = getInvokeArgs(method,header,eventType, rowData);
method.invoke(point.getTarget(), args); method.invoke(point.getTarget(), args);
} catch (Exception e) { } catch (Exception e) {
log.error("{}: Error occurred when invoke the listener's interface! class:{}, method:{}", log.error("{}: Error occurred when invoke the listener's interface! class:{}, method:{}",
...@@ -112,14 +137,12 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra ...@@ -112,14 +137,12 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra
/** /**
* get the filters predicate * get the filters predicate
* @param destination destination * @param destination destination
* @param schemaName schema * @param header
* @param tableName table name
* @param eventType event type * @param eventType event type
* @return predicate * @return predicate
*/ */
protected abstract Predicate<Map.Entry<Method, ListenPoint>> getAnnotationFilter(String destination, protected abstract Predicate<Map.Entry<Method, ListenPoint>> getAnnotationFilter(String destination,
String schemaName, CanalEntry.Header header,
String tableName,
CanalEntry.EventType eventType); CanalEntry.EventType eventType);
/** /**
...@@ -129,7 +152,7 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra ...@@ -129,7 +152,7 @@ public abstract class AbstractBasicMessageTransponder extends AbstractMessageTra
* @param rowData row data * @param rowData row data
* @return args which will be used by invoking the annotation methods * @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事件 * ddl事件
......
...@@ -4,6 +4,7 @@ import com.alibaba.otter.canal.client.CanalConnector; ...@@ -4,6 +4,7 @@ import com.alibaba.otter.canal.client.CanalConnector;
import com.alibaba.otter.canal.protocol.Message; import com.alibaba.otter.canal.protocol.Message;
import com.alibaba.otter.canal.protocol.exception.CanalClientException; import com.alibaba.otter.canal.protocol.exception.CanalClientException;
import com.schbrain.canal.client.conf.CanalClientConfig; 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.core.ListenerPoint;
import com.schbrain.canal.client.event.CanalEvent; import com.schbrain.canal.client.event.CanalEvent;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -37,16 +38,7 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { ...@@ -37,16 +38,7 @@ public abstract class AbstractMessageTransponder implements MessageTransponder {
*/ */
protected final String destination; protected final String destination;
/** protected final HandlerConf handlerConf;
* listeners which are used by implementing the Interface
*/
protected final List<CanalEvent> listeners = new ArrayList<>();
/**
* listeners which are used by annotation
*/
protected final List<ListenerPoint> annoListeners = new ArrayList<>();
/** /**
* running flag * running flag
*/ */
...@@ -54,19 +46,13 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { ...@@ -54,19 +46,13 @@ public abstract class AbstractMessageTransponder implements MessageTransponder {
public AbstractMessageTransponder(CanalConnector connector, public AbstractMessageTransponder(CanalConnector connector,
Map.Entry<String,CanalClientConfig> config, Map.Entry<String,CanalClientConfig> config,
List<CanalEvent> listeners, HandlerConf handlerConf) {
List<ListenerPoint> annoListeners) {
Objects.requireNonNull(connector, "connector can not be null!"); Objects.requireNonNull(connector, "connector can not be null!");
Objects.requireNonNull(config, "config can not be null!"); Objects.requireNonNull(config, "config can not be null!");
this.connector = connector; this.connector = connector;
this.destination = config.getKey(); this.destination = config.getKey();
this.config = config.getValue(); this.config = config.getValue();
if (listeners != null) { this.handlerConf = handlerConf;
this.listeners.addAll(listeners);
}
if (annoListeners != null){
this.annoListeners.addAll(annoListeners);
}
} }
@Override @Override
...@@ -80,12 +66,12 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { ...@@ -80,12 +66,12 @@ public abstract class AbstractMessageTransponder implements MessageTransponder {
long batchId = message.getId(); long batchId = message.getId();
int size = message.getEntries().size(); int size = message.getEntries().size();
if (log.isDebugEnabled()) { 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 //empty message
if (batchId == -1 || size == 0) { if (batchId == -1 || size == 0) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("{}: Empty message... sleep for {} millis", threadName, interval); //log.debug("{}: Empty message... sleep for {} millis", threadName, interval);
} }
Thread.sleep(interval); Thread.sleep(interval);
} else { } else {
...@@ -93,7 +79,7 @@ public abstract class AbstractMessageTransponder implements MessageTransponder { ...@@ -93,7 +79,7 @@ public abstract class AbstractMessageTransponder implements MessageTransponder {
} }
connector.ack(batchId); connector.ack(batchId);
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("{}: Ack message. batchId:{}", threadName, batchId); //log.debug("{}: Ack message. batchId:{}", threadName, batchId);
} }
} catch (CanalClientException e) { } catch (CanalClientException e) {
errorCount--; errorCount--;
......
...@@ -4,9 +4,8 @@ import com.alibaba.otter.canal.client.CanalConnector; ...@@ -4,9 +4,8 @@ import com.alibaba.otter.canal.client.CanalConnector;
import com.alibaba.otter.canal.protocol.CanalEntry; import com.alibaba.otter.canal.protocol.CanalEntry;
import com.schbrain.canal.client.annotation.ListenPoint; import com.schbrain.canal.client.annotation.ListenPoint;
import com.schbrain.canal.client.conf.CanalClientConfig; import com.schbrain.canal.client.conf.CanalClientConfig;
import com.schbrain.canal.client.core.ListenerPoint; import com.schbrain.canal.client.core.HandlerConf;
import com.schbrain.canal.client.event.CanalEvent; import org.apache.commons.lang3.StringUtils;
import org.springframework.util.StringUtils;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Arrays; import java.util.Arrays;
...@@ -21,33 +20,73 @@ import java.util.function.Predicate; ...@@ -21,33 +20,73 @@ import java.util.function.Predicate;
public class DefaultMessageTransponder extends AbstractBasicMessageTransponder{ public class DefaultMessageTransponder extends AbstractBasicMessageTransponder{
public DefaultMessageTransponder(CanalConnector connector, public DefaultMessageTransponder(CanalConnector connector,
Map.Entry<String, CanalClientConfig> config, Map.Entry<String, CanalClientConfig> config, HandlerConf handlerConf) {
List<CanalEvent> listeners, super(connector, config,handlerConf);
List<ListenerPoint> annoListeners) {
super(connector, config, listeners, annoListeners);
} }
@Override @Override
protected Predicate<Map.Entry<Method, ListenPoint>> getAnnotationFilter(String destination, String schemaName, String tableName, CanalEntry.EventType eventType) { protected Predicate<Map.Entry<Method, ListenPoint>> getAnnotationFilter(String destination,CanalEntry.Header header, CanalEntry.EventType eventType) {
Predicate<Map.Entry<Method, ListenPoint>> df = e -> StringUtils.isEmpty(e.getValue().destination()) Predicate<Map.Entry<Method, ListenPoint>> df = (e->{
|| e.getValue().destination().equals(destination); if(StringUtils.isBlank(e.getValue().destination())){
Predicate<Map.Entry<Method, ListenPoint>> sf = e -> e.getValue().schema().length == 0 return true;
|| Arrays.stream(e.getValue().schema()).anyMatch(s -> s.equals(schemaName)); }
Predicate<Map.Entry<Method, ListenPoint>> tf = e -> e.getValue().table().length == 0 return e.getValue().destination().equals(destination);
|| Arrays.stream(e.getValue().table()).anyMatch(t -> t.equals(tableName)); });
Predicate<Map.Entry<Method, ListenPoint>> ef = e -> e.getValue().eventType().length == 0 Predicate<Map.Entry<Method, ListenPoint>> sf = (e->{
|| Arrays.stream(e.getValue().eventType()).anyMatch(ev -> ev == eventType); 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<Map.Entry<Method, ListenPoint>> 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<Map.Entry<Method, ListenPoint>> 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); return df.and(sf).and(tf).and(ef);
} }
@Override @Override
protected Object[] getInvokeArgs(Method method, CanalEntry.EventType eventType, CanalEntry.RowData rowData) { protected Object[] getInvokeArgs(Method method,CanalEntry.Header header,CanalEntry.EventType eventType, CanalEntry.RowData rowData) {
return Arrays.stream(method.getParameterTypes()) Class<?>[] classes = method.getParameterTypes();
.map(p -> p == CanalEntry.EventType.class Object[] args = new Object[classes.length];
? eventType for (int i = 0; i < classes.length; i++) {
: p == CanalEntry.RowData.class Class<?> p = classes[i];
? rowData : null) Object arg = null;
.toArray(); 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;
} }
......
...@@ -2,6 +2,7 @@ package com.schbrain.canal.client.transfer; ...@@ -2,6 +2,7 @@ package com.schbrain.canal.client.transfer;
import com.alibaba.otter.canal.client.CanalConnector; import com.alibaba.otter.canal.client.CanalConnector;
import com.schbrain.canal.client.conf.CanalClientConfig; 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.core.ListenerPoint;
import com.schbrain.canal.client.event.CanalEvent; import com.schbrain.canal.client.event.CanalEvent;
...@@ -15,7 +16,7 @@ import java.util.Map; ...@@ -15,7 +16,7 @@ import java.util.Map;
public class DefaultTransponderFactory implements TransponderFactory{ public class DefaultTransponderFactory implements TransponderFactory{
@Override @Override
public MessageTransponder newTransponder(CanalConnector connector, Map.Entry<String, CanalClientConfig> config, List<CanalEvent> listeners, List<ListenerPoint> annoListeners) { public MessageTransponder newTransponder(CanalConnector connector, Map.Entry<String, CanalClientConfig> config, HandlerConf handlerConf) {
return new DefaultMessageTransponder(connector, config, listeners, annoListeners); return new DefaultMessageTransponder(connector, config,handlerConf);
} }
} }
...@@ -2,6 +2,7 @@ package com.schbrain.canal.client.transfer; ...@@ -2,6 +2,7 @@ package com.schbrain.canal.client.transfer;
import com.alibaba.otter.canal.client.CanalConnector; import com.alibaba.otter.canal.client.CanalConnector;
import com.schbrain.canal.client.conf.CanalClientConfig; 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.core.ListenerPoint;
import com.schbrain.canal.client.event.CanalEvent; import com.schbrain.canal.client.event.CanalEvent;
...@@ -17,9 +18,7 @@ public interface TransponderFactory { ...@@ -17,9 +18,7 @@ public interface TransponderFactory {
/** /**
* @param connector connector * @param connector connector
* @param config config * @param config config
* @param listeners listeners
* @param annoListeners annoListeners
* @return MessageTransponder * @return MessageTransponder
*/ */
MessageTransponder newTransponder(CanalConnector connector, Map.Entry<String, CanalClientConfig> config, List<CanalEvent> listeners, List<ListenerPoint> annoListeners); MessageTransponder newTransponder(CanalConnector connector, Map.Entry<String, CanalClientConfig> config,HandlerConf handlerConf);
} }
...@@ -2,43 +2,29 @@ package com.schbrain.web; ...@@ -2,43 +2,29 @@ package com.schbrain.web;
import com.alibaba.otter.canal.protocol.CanalEntry; import com.alibaba.otter.canal.protocol.CanalEntry;
import com.schbrain.canal.client.annotation.TableFilter; 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 org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author zhuyf * @author zhuyf
* @date 2022/6/16 * @date 2022/6/16
*/ */
@Service("myCanalEvent") @Service("myCanalEvent")
@TableFilter(table = "uc_user_info",schame = "kp_user") //暂时未实现 @TableFilter(table = "wechat_user",schame = "kp_user")
public class MyCanalEvent implements CanalEvent { public class MyCanalEvent implements DefCanalEvent {
@Override @Override
public void onEvent(CanalEntry.Header header,CanalEntry.EventType eventType, CanalEntry.RowData rowData) { public void onInsert(CanalEntry.Header header, CanalEntry.RowData rowData) {
System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+eventType.name()); System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"insert");
//如果是删除语句 }
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());
}
@Override
public void onUpdate(CanalEntry.Header header, CanalEntry.RowData rowData) {
System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"update");
} }
private static void printColumn(List<CanalEntry.Column> columns) { @Override
for (CanalEntry.Column column : columns) { public void onDelete(CanalEntry.Header header, CanalEntry.RowData rowData) {
System.out.println(column.getName() + " : " + column.getValue() + " update=" + column.getUpdated()); System.out.println("======"+header.getSchemaName()+":"+header.getTableName()+":"+"delete");
}
} }
} }
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");
}
}
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");
}
}
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";
}
}
#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.addresses=192.168.36.66:11111
canal.client.instances.kp_user.username= canal.client.instances.kp_user.username=
canal.client.instances.kp_user.password= canal.client.instances.kp_user.password=
canal.client.instances.kp_user.retryCount=10 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.addresses=192.168.36.66:11111
canal.client.instances.screenschbrain.username= #canal.client.instances.screenschbrain.username=
canal.client.instances.screenschbrain.password= #canal.client.instances.screenschbrain.password=
canal.client.instances.screenschbrain.retryCount=10 #canal.client.instances.screenschbrain.retryCount=10
#canal.client.instances.screenschbrain.subscribe=.*\\\\..* #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.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
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<appender-ref ref="STDOUT"/> <appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/> <appender-ref ref="FILE"/>
</root> </root>
<logger name="com.schbrain" level="INFO" additivity="false"> <logger name="com.schbrain" level="debug" additivity="false">
<appender-ref ref="STDOUT" /> <appender-ref ref="STDOUT" />
<appender-ref ref="FILE" /> <appender-ref ref="FILE" />
</logger> </logger>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment