本文整理汇总了Java中com.alibaba.otter.canal.client.CanalConnector类的典型用法代码示例。如果您正苦于以下问题:Java CanalConnector类的具体用法?Java CanalConnector怎么用?Java CanalConnector使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CanalConnector类属于com.alibaba.otter.canal.client包,在下文中一共展示了CanalConnector类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: service
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public List<MonitorInfo> service(){
List<MonitorInfo> data = new ArrayList<MonitorInfo>();
try {
if(cache==null||cache.isEmpty()){
init(destinations, servers, username, password, filter_regex, isZookeeper, batch_size);
}
if(!cache.isEmpty()){
for (CanalConnector connector : cache.values()) {
List<MonitorInfo> list = execute(connector);
if(list!=null&&list.size()>0){
data.addAll(list);
}
}
}
} catch (Exception e) {
logger.error("--Muti Canal监控失败!",e);
}
return data;
}
开发者ID:dev-share,项目名称:database-transform-tool,代码行数:20,代码来源:MutiCanalFactory.java
示例2: initCanalStart
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public void initCanalStart() {
List<String> destinations = canalProperties.getDestination();
final List<CanalClient> canalClientList = new ArrayList<>();
if (destinations != null && destinations.size() > 0) {
for (String destination : destinations) {
// 基于zookeeper动态获取canal server的地址,建立链接,其中一台server发生crash,可以支持failover
CanalConnector connector = CanalConnectors.newClusterConnector(canalProperties.getZkServers(), destination, "", "");
CanalClient client = new CanalClient(destination, connector);
canalClientList.add(client);
client.start();
}
}
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
logger.info("## stop the canal client");
for (CanalClient canalClient : canalClientList) {
canalClient.stop();
}
} catch (Throwable e) {
logger.warn("##something goes wrong when stopping canal:", e);
} finally {
logger.info("## canal client is down.");
}
}
});
}
开发者ID:zhangtr,项目名称:canal-mongo,代码行数:29,代码来源:CanalInitHandler.java
示例3: main
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public static void main(String[] args) throws InterruptedException {
CanalConnector connector = CanalConnectors.newSingleConnector(new InetSocketAddress("127.0.0.1", 11111),
"totoro",
"",
"");
connector.connect();
connector.subscribe();
int emptyTimes = 0;
while (running) {
Message message = connector.getWithoutAck(5 * 1024);
if (message == null || message.getId() == -1L) {
applyWait(emptyTimes++);
} else {
//logger.info(message.toString());
long messageId = message.getId();
System.out.println("消息id:" + messageId);
Thread.sleep(1000);
connector.rollback();
}
}
}
开发者ID:zhongchengxcr,项目名称:canal-elasticsearch,代码行数:30,代码来源:LockTest.java
示例4: close
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
/**
* 关闭服务
*/
public static void close(){
if(!cache.isEmpty()){
for (CanalConnector connector : cache.values()) {
connector.disconnect();
}
}
}
开发者ID:dev-share,项目名称:database-transform-tool,代码行数:11,代码来源:MutiCanalFactory.java
示例5: getCanalConnector
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
@Bean
public CanalConnector getCanalConnector() {
canalConnector = CanalConnectors.newClusterConnector(Lists.newArrayList(new InetSocketAddress(canalHost, Integer.valueOf(canalPort))), canalDestination, canalUsername, canalPassword);
canalConnector.connect();
// 指定filter,格式 {database}.{table},这里不做过滤,过滤操作留给用户
canalConnector.subscribe();
// 回滚寻找上次中断的位置
canalConnector.rollback();
logger.info("canal客户端启动成功");
return canalConnector;
}
开发者ID:starcwang,项目名称:canal_mysql_elasticsearch_sync,代码行数:12,代码来源:CanalClient.java
示例6: main
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public static void main(String args[]) {
String destination = "example";
// 基于固定canal server的地址,建立链接,其中一台server发生crash,可以支持failover
// CanalConnector connector = CanalConnectors.newClusterConnector(
// Arrays.asList(new InetSocketAddress(
// AddressUtils.getHostIp(),
// 11111)),
// "stability_test", "", "");
// 基于zookeeper动态获取canal server的地址,建立链接,其中一台server发生crash,可以支持failover
CanalConnector connector = CanalConnectors.newClusterConnector("127.0.0.1:2181", destination, "", "");
final ClusterCanalClientTest clientTest = new ClusterCanalClientTest(destination);
clientTest.setConnector(connector);
clientTest.start();
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
logger.info("## stop the canal client");
clientTest.stop();
} catch (Throwable e) {
logger.warn("##something goes wrong when stopping canal:", e);
} finally {
logger.info("## canal client is down.");
}
}
});
}
开发者ID:alibaba,项目名称:canal,代码行数:33,代码来源:ClusterCanalClientTest.java
示例7: main
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public static void main(String args[]) {
// 根据ip,直接创建链接,无HA的功能
String destination = "example";
String ip = AddressUtils.getHostIp();
CanalConnector connector = CanalConnectors.newSingleConnector(new InetSocketAddress(ip, 11111),
destination,
"",
"");
final SimpleCanalClientTest clientTest = new SimpleCanalClientTest(destination);
clientTest.setConnector(connector);
clientTest.start();
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
logger.info("## stop the canal client");
clientTest.stop();
} catch (Throwable e) {
logger.warn("##something goes wrong when stopping canal:", e);
} finally {
logger.info("## canal client is down.");
}
}
});
}
开发者ID:alibaba,项目名称:canal,代码行数:28,代码来源:SimpleCanalClientTest.java
示例8: CanalClient
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public CanalClient(String destination, CanalConnector connector) {
this.destination = destination;
this.connector = connector;
}
开发者ID:zhangtr,项目名称:canal-mongo,代码行数:5,代码来源:CanalClient.java
示例9: getConnector
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
private CanalConnector getConnector(String zkServers, String destination, String username, String password) {
return CanalConnectors.newClusterConnector(zkServers, destination, username, password);
}
开发者ID:lackhurt,项目名称:flume-canal-source,代码行数:4,代码来源:CanalClient.java
示例10: init
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
/**
* @description Canal服务配置
* @author yi.zhang
* @time 2017年4月19日 上午10:38:42
* @throws Exception
*/
public void init(String destinations,String servers,String username,String password,String filter_regex,boolean isZookeeper,Integer batch_size){
try {
if(filter_regex!=null){
CANAL_FILTER_REGEX = filter_regex;
}
if(batch_size!=null){
BATCH_SIZE = batch_size;
}
if(servers==null||"".equals(servers)){
return;
}
if(destinations!=null&&!"".equals(destinations)){
for(String destination:destinations.split(",")){
if(destination==null||"".equals(destination)){
continue;
}
CanalConnector connector = null;
if(isZookeeper){
connector = CanalConnectors.newClusterConnector(servers, destination, username, password);
}else{
List<SocketAddress> addresses = new ArrayList<SocketAddress>();
for(String address : servers.split(",")){
String[] ips = address.split(":");
String ip = ips[0];
int port=11111;
if(ips.length>1){
port = Integer.valueOf(ips[1]);
}
addresses.add(new InetSocketAddress(ip, port));
}
if(addresses!=null&&addresses.size()==1){
connector = CanalConnectors.newSingleConnector(addresses.get(0), destination, username, password);
}else{
connector = CanalConnectors.newClusterConnector(addresses, destination, username, password);
}
}
connector.connect();
connector.subscribe(CANAL_FILTER_REGEX);
connector.rollback();
cache.put(destination, connector);
}
}
} catch (Exception e) {
logger.error("-----Muti Canal Config init Error-----", e);
}
}
开发者ID:dev-share,项目名称:database-transform-tool,代码行数:53,代码来源:MutiCanalFactory.java
示例11: create
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
@Override
public CanalConnector create(String instanceName) {
return CanalConnectors.newSingleConnector(address, instanceName, null, null);
}
开发者ID:wxingyl,项目名称:search-commons,代码行数:5,代码来源:Schemas.java
示例12: AbstractCanalClientTest
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public AbstractCanalClientTest(String destination, CanalConnector connector){
this.destination = destination;
this.connector = connector;
}
开发者ID:alibaba,项目名称:canal,代码行数:5,代码来源:AbstractCanalClientTest.java
示例13: setConnector
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
public void setConnector(CanalConnector connector) {
this.connector = connector;
}
开发者ID:alibaba,项目名称:canal,代码行数:4,代码来源:AbstractCanalClientTest.java
示例14: ack
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
/**
* 提交数据
* @param batchId
*/
public static void ack(CanalConnector connector,long batchId){
connector.ack(batchId);
}
开发者ID:dev-share,项目名称:database-transform-tool,代码行数:8,代码来源:MutiCanalFactory.java
示例15: rollback
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
/**
* 回滚数据
* @param batchId
*/
public static void rollback(CanalConnector connector,long batchId){
connector.rollback(batchId);
}
开发者ID:dev-share,项目名称:database-transform-tool,代码行数:8,代码来源:MutiCanalFactory.java
示例16: create
import com.alibaba.otter.canal.client.CanalConnector; //导入依赖的package包/类
CanalConnector create(String instanceName);
开发者ID:wxingyl,项目名称:search-commons,代码行数:2,代码来源:CanalInstanceHandle.java
注:本文中的com.alibaba.otter.canal.client.CanalConnector类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论