diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/config/Config.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/config/Config.java
new file mode 100644
index 00000000..7f856a9a
--- /dev/null
+++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/config/Config.java
@@ -0,0 +1,15 @@
+package com.alibaba.otter.canal.admin.config;
+
+import org.apache.commons.dbutils.QueryRunner;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.sql.DataSource;
+
+@Configuration
+public class Config {
+ @Bean
+ public QueryRunner queryRunner(DataSource dataSource) {
+ return new QueryRunner(dataSource);
+ }
+}
diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/dao/CanalConfigDao.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/dao/CanalConfigDao.java
index ca4ae033..24ceb05d 100644
--- a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/dao/CanalConfigDao.java
+++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/dao/CanalConfigDao.java
@@ -1,43 +1,40 @@
package com.alibaba.otter.canal.admin.dao;
import com.alibaba.otter.canal.admin.model.CanalConfig;
-import com.alibaba.otter.canal.admin.model.Person;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
-import org.javalite.activejdbc.Base;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import javax.annotation.PostConstruct;
-import javax.sql.DataSource;
import java.sql.SQLException;
+import java.util.Date;
@Repository
public class CanalConfigDao {
@Autowired
- private DataSource dataSource;
-// public void open() {
-// Base.open(dataSource);
-// }
+ private QueryRunner runner;
@PostConstruct
public void init() {
-// CanalConfig canalConfig = new CanalConfig();
-// canalConfig.setId(1L);
- UpdateContent(1L);
- }
-
- public void UpdateContent(Long id) {
- QueryRunner runner = new QueryRunner(dataSource);
try {
- CanalConfig canalConfig = runner.query("select * from canal_config where id=1", new BeanHandler<>(CanalConfig.class));
+ CanalConfig canalConfig = findById(1L);
canalConfig = canalConfig;
+ canalConfig.setContent(canalConfig.getContent()+" xxx");
+ updateContent(canalConfig);
} catch (SQLException e) {
e.printStackTrace();
}
-// Base.open(dataSource);
-// Person.where("id=?", id);
-// Base.close();
+ }
+
+ public CanalConfig findById(Long id) throws SQLException {
+ String sql = "select id,name,content,modified_time as modifiedTime" +
+ " from canal_config where id=?";
+ return runner.query(sql, new BeanHandler<>(CanalConfig.class), id);
+ }
+
+ public void updateContent(CanalConfig canalConfig) throws SQLException {
+ String sql = "update canal_config set content=?, modified_time=? where id=?";
+ runner.update(sql, canalConfig.getContent(), new Date(), canalConfig.getId());
}
}
diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/model/CanalConfig.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/model/CanalConfig.java
index 8ecac1da..a3855de3 100644
--- a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/model/CanalConfig.java
+++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/model/CanalConfig.java
@@ -10,7 +10,7 @@ public class CanalConfig {
private Long id;
private String name;
private String content;
- private Timestamp modifiedTime;
+ private Date modifiedTime;
public Long getId() {
return id;
@@ -36,11 +36,11 @@ public class CanalConfig {
this.content = content;
}
- public Timestamp getModifiedTime() {
+ public Date getModifiedTime() {
return modifiedTime;
}
- public void setModifiedTime(Timestamp modifiedTime) {
+ public void setModifiedTime(Date modifiedTime) {
this.modifiedTime = modifiedTime;
}
}
diff --git a/pom.xml b/pom.xml
index 5f875209..47db657c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -126,6 +126,7 @@
example
prometheus
client-adapter
+ canal-admin
@@ -253,7 +254,7 @@
com.alibaba.fastsql
fastsql
- 2.0.0_preview_914
+ 2.0.0_preview_896
com.alibaba
diff --git a/server/src/main/java/com/alibaba/otter/canal/kafka/CanalKafkaProducer.java b/server/src/main/java/com/alibaba/otter/canal/kafka/CanalKafkaProducer.java
index 99f2010a..5f1c00a2 100644
--- a/server/src/main/java/com/alibaba/otter/canal/kafka/CanalKafkaProducer.java
+++ b/server/src/main/java/com/alibaba/otter/canal/kafka/CanalKafkaProducer.java
@@ -133,7 +133,7 @@ public class CanalKafkaProducer implements CanalMQProducer {
canalDestination.getDynamicTopic());
for (Map.Entry entry : messageMap.entrySet()) {
- String topicName = entry.getKey().replace('.', '_');
+ String topicName = entry.getKey(); //.replace('.', '_');
Message messageSub = entry.getValue();
if (logger.isDebugEnabled()) {
logger.debug("## Send message to kafka topic: " + topicName);