orpiske commented on issue #824:
URL: 
https://github.com/apache/camel-kafka-connector/issues/824#issuecomment-753850103


   Providing these, as taken from the test code for a kick-off. Maybe we can 
leverage it ...
   
   Base configuration using Postgres, but should work in the same way for other 
DBs: 
   
   ```
   connector.class=org.apache.camel.kafkaconnector.jdbc.CamelJdbcSinkConnector
   tasks.max=1
   camel.sink.path.dataSourceName=someName
   topics=org.apache.camel.kafkaconnector.jdbc.sink.CamelSinkJDBCITCase
   name=CamelJDBCSinkConnector
   value.converter=org.apache.kafka.connect.storage.StringConverter
   
camel.component.jdbc.dataSource=#class:org.apache.camel.kafkaconnector.jdbc.services.TestDataSource
   key.converter=org.apache.kafka.connect.storage.StringConverter
   camel.sink.endpoint.useHeadersAsParameters=true
   ```
   
   
   You need to provide a data source. This should setup the JDBC url, username 
and password. Here's an example from the test code: 
   
   ```
   public class TestDataSource extends PGSimpleDataSource {
       private static final Logger LOG = 
LoggerFactory.getLogger(TestDataSource.class);
   
       private static final String URL;
   
       static {
           URL = System.getProperty(JDBCProperties.JDBC_CONNECTION_URL);
       }
   
       public TestDataSource() {
           super();
           setUrl(URL);
   
           setUser("ckc");
           setPassword("ckcDevel123");
   
       }
   }
   ```
   
   The database insertion is handled by the body of the message and the rows 
will be resolved using Camel headers, such as: 
   
   ```
   String body = "insert into test(test_name, test_data) values(:?TestName, 
:?TestData)"; 
   
   ... 
   
   
   Map<String, String> jdbcParameters = new HashMap<>();
   
   // The prefix 'CamelHeader' is removed by the SinkTask
   jdbcParameters.put(CamelSinkTask.HEADER_CAMEL_PREFIX + "TestName", 
"SomeName1");
   jdbcParameters.put(CamelSinkTask.HEADER_CAMEL_PREFIX + "TestData", "test 
data ");
   
   
   // Send the data
   kafkaClient.produce("topic-name", body, jdbcParameters);
   ```
   
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to