Dễ bề sử dụng canal-springboot bản cài đặt
Còn ở thí nghiệm sử dụng giai đoạn, nếu ở sử dụng trong quá trình phát hiện vấn đề, hoan nghênhĐệ trình issue Hoặc làGia nhập qq đàn Thảo luận
-
Hoàn cảnh ỷ lại
jdk >= 1.8
canal-server = 1.1.6
-
Dẫn vào maven ỷ lại
<dependency> <groupId>io.github.xizixuejie</groupId> <artifactId>canal-spring-boot-starter</artifactId> <version>0.0.17</version> </dependency>
-
Phối trí canal phục vụ cơ bản tin tức
canal: server:127.0.0.1:11111 destination:example
-
Ở khởi động loại tăng thêm chú giải
@EnableCanalListener
value
Thuộc tính hoặc làbasePackages
Thuộc tính chỉ định rà quét bao đường nhỏ. -
Tự định nghĩa CanalListener thực hiện
io.xzxj.canal.core.listener.EntryListener
Tiếp lời -
Thực hiện loại thượng gia tăng chú giải
@CanalListener(schemaName = "${database}", tableName = "${table_name}" )
${database}
Nghe lén cơ sở dữ liệu danh${table_name}
Nghe lén biểu danh. Có thể là chính tắc biểu đạt thứcTiếp lời phiếm hình là đối ứng thật thể loại
-
Thực hiện
insert
,update
Hoặc làdelete
Phương pháp tới nghe lén ngươi muốn làm thao tác
@CanalListener
publicclassTestListenerimplementsEntryListener<TestEntity> {
privatestaticfinalLoggerlog=LoggerFactory.getLogger(TestListener.class);
@Override
publicvoidinsert(TestEntitytestEntity) {
log.info("insert={}",testEntity);
}
@Override
publicvoidupdate(TestEntitybefore,TestEntityafter) {
log.info("update before={}",before);
log.info("update after={}",after);
}
@Override
publicvoiddelete(TestEntitytestEntity) {
log.info("delete={}",testEntity);
}
}
Đánh câu chính là đã thực hiện, chưa đánh câu chính là về sau sẽ thực hiện
- Thật thể loại danh tự động thay đổi biểu danh
- Cùng theo jpa hoặc là mp chú giải tự động thay đổi thật thể loại thuộc tính, hoặc là mặt khác orm dàn giáo chú giải ( yêu cầu tự định nghĩa )
- tcp hình thức
- kafka hình thức
- rocketMQ hình thức
- rabbitMQ hình thức
- pulsarMQ hình thức
Nếu ngươi dùng orm dàn giáo không phải mybatis-plus hoặc là spring-data-jpa, có thể tự định nghĩa một cái thay đổi khí.
- Tự định nghĩa bean kế thừa
io.xzxj.canal.core.metadata.AbstractEntityInfoHelper
- Thực hiện trừu tượng loại trung ba cái phương pháp
- Thu hoạch cơ sở dữ liệu biểu danh
getTableName
- Hay không vì số liệu kho liệt
isColumnFiled
- Thu hoạch đối ứng cơ sở dữ liệu liệt danh
getColumn
- Thu hoạch cơ sở dữ liệu biểu danh
Nếu ngươi thật thể loại thuộc tính không ởio.xzxj.canal.core.convertor.impl
Cái này trong bao thực hiện, có thể tự định nghĩa loại hình thay đổi khí.
Toàn cục phối trí phương thức
- Tự định nghĩa bean thực hiện
io.xzxj.canal.core.convertor.IColumnConvertor<T>
,Phiếm hình là ngươi thật thể loại loại hình. - Thực hiện
convert
Phương pháp
Chú giải đơn độc chỉ định
Ưu tiên cấp so toàn cục cao
- Ở thật thể loại thuộc tính thượng tăng thêm
@ColumnConvertor
Chú giải - value là
io.xzxj.canal.core.convertor.IColumnConvertor<T>
Thực hiện loại, cần phải có một cái vô tham cấu tạo hàm số.
Chỉ ở kafka hình thức ra đời hiệu
Có thể thêm ở ngươiEntryListener<T>
Thực hiện loại thượng, dùng để chỉ định nghe lén cụ thể cái nào topic cùng với partition, nếu chỉ chỉ định topic, tắc sẽ nghe lén cái này topic sở hữu partition.
Thuộc tính | Miêu tả | Cam chịu giá trị |
---|---|---|
canal.server | canal phục vụ địa chỉ Nếu là Kafka hình thức vì Kafka địa chỉ, nhiều địa chỉ lấy , Phân cách.Nếu là rabbitMQ hình thức vì rabbitMQ phục vụ địa chỉ, trước mắt chỉ duy trì đơn cái |
127.0.0.1:11111 |
canal.annotation-type | Lựa chọn thật thể loại thượng chú giải loại hình | mybatis_plus |
canal.destination | canal instance tên rabbitMQ hình thức vì queue tên |
example |
canal.filter | canal lọc biểu tên, như phối trí tắc chỉ đặt mua phối trí biểu | "" |
canal.async | Hay không là dị bước tiêu phí, dị bước tiêu phí khi, tiêu phí khi dị thường đem dẫn tới tin tức sẽ không hồi lăn, cũng không cam đoan trình tự tính | true |
canal.timeout | Tiêu phí thời gian khoảng cách (s) | 1s |
canal.server-mode | canal bản cài đặt loại hình, trước mắt duy trì tcp,kafka,rabbitMQ loại hình | tcp |
canal.username | canal username | null |
canal.password | canal mật mã | null |
canal.mq.flat-message | JSON tin tức cách thức | true |
canal.kafka.group-id | kafka groupId người tiêu thụ đặt mua tin tức khi có thể sử dụng, kafka canal bản cài đặt | null |
canal.kafka.dynamic-topic | kafka người tiêu thụ đặt mua tin tức topic cùng partition, nếu dùng cái này thuộc tính chỉ định topic phối trí, tắc sẽ xem nhẹ canal.kafka.topics phối trí | {} |
canal.kafka.topics | kafka người tiêu thụ đặt mua tin tức topic | [] |
canal.kafka.partition | kafka partition đã qua khi, nếu yêu cầu thiết trí topic phân khu, thỉnh sử dụng dynamicTopic tới chỉ định | null |
canal.rabbit-mq.virtual-host | rabbitMq virtualHost | / |
canal.rabbit-mq.queue-name | rabbitMq đội ngũ danh | null |
canal.rabbit-mq.access-key | Ali ak | "" |
canal.rabbit-mq.secret-key | Ali sk | "" |
canal.rabbit-mq.resource-owner-id | Tài nguyên owner tài khoản ( chủ tài khoản | null |
canal.rabbit-mq.username | rabbitMq username | guest |
canal.rabbit-mq.password | rabbitMq password | guest |
- 2024-09-04 v0.0.17 EntryListener update gia tăng đổi mới thuộc tính tập hợp tham số. TcpClient cắt đứt quan hệ trọng liền.
- 2024-05-27 v0.0.16 tử loại kế thừa phụ loại tương đồng thuộc tính khi, thu hoạch tự đoạn tên cùng thật thể thuộc tính đối ứng quan hệ sẽ xuất hiện dị thường vấn đề.
- 2024-05-07 v0.0.15 sửa chữa thu hoạch loại thuộc tính, chỉ có thể thu hoạch một tầng phụ loại thuộc tính vấn đề.
- 2024-03-27 v0.0.14 sửa chữa nhiều destination khi, CanalClient tiêu hủy xuất hiện dị thường vấn đề
- 2024-03-15 v0.0.13 ưu hoá dị thường xử lý; sửa chữa spring tự động phối trí
- 2024-03-12 v0.0.12 sửa chữa tableName chính tắc phối trí mất đi hiệu lực vấn đề
- 2024-03-12 v0.0.11 sửa chữa một ít bug; kafka hình thức cùng tcp hình thức duy trì nhiều destination, hơn nữa ở kafka hình thức hạ duy trì tự định nghĩa topic, partition
- 2023-12-26 v0.0.10 sửa chữa một ít bug, duy trì một cái biểu đối ứng nhiều EntryListener, duy trì chú giải chỉ định tự định nghĩa thật thể loại thuộc tính loại hình thay đổi.
- 2023-12-18 v0.0.9 cho phép tự định nghĩa thật thể loại thuộc tính tên cùng loại hình thay đổi.
- 2023-12-13 v0.0.8 ưu hoá Listener xử lý quá trình; mq hình thức phối trí flat-message.
- 2023-09-25 v0.0.7 ưu hoá định nghĩa nhiều cùng kho bất đồng biểu Listener dẫn tới chỉ có thể thu hoạch đến cuối cùng một cái Listener tin tức vấn đề.
- 2023-09-01 v0.0.6 gia tăng List tự đoạn thay đổi, sửa chữa cam chịu tcp hình thức tự động phối trí không có hiệu lực vấn đề.
- 2023-08-16 đổi mới v0.0.5 phiên bản.
@CanalListener
Chú giảischemaName
Thuộc tính có thể chỉ định nhiều, cũng có thể sử dụng chính tắc biểu đạt. - 2023-05-31 đổi mới v0.0.4 phiên bản. Sửa chữa tiêu phí tin tức dị thường xử lý.
- 2023-05-04 đổi mới v0.0.3 phiên bản.
@CanalListener
Chú giảitableName
Thuộc tính có thể dùng chính tắc biểu đạt thức. - 2023-03-25 đổi mới v0.0.2 phiên bản. Thực hiện RabbitMQ loại hình bản cài đặt.
- 2023-03-22 đổi mới v0.0.1 phiên bản. Thực hiện chỉ định kho danh, biểu danh nghe lén, thật thể loại thuộc tính tự động thay đổi, tcp cùng kafka loại hình bản cài đặt.