JDBC Topic
Configuration Properties
Properties for a JDBC Topic are defined by name in the dlc.jdbc.topics namespace,
and are picked up as configurations for the DLC.
| Key | Required | Type | Default | Description |
|---|---|---|---|---|
| sql | Y | String |
SQL statement. Can accept parameters. | |
| parameterOrder | List<String> |
List which contains the order of scope keys for providing parameters to the prepared statement. Values come from the scope of the request. | ||
| channels | Set<Channel> |
A channel is created using the topic’s name as the name of the target. | Channels. | |
| restrict-to-sources | Set<String> |
Sources to which the topic is restricted. | ||
| restrict-from-sources | Set<String> |
Sources from which the topic restricted. |
YAML Example
dlc:
jdbc:
topics:
trades:
sql: 'SELECT * FROM table1'
topic6:
sql: 'SELECT ProductId AS ProductId,
Name AS ProductName,
Color AS ProductColor,
Price AS ProductPrice,
CobDate AS CobDate
FROM ProductStore
WHERE CobDate = ?'
parameter-order:
- CobDate
Java Configuration
JdbcTopicDescription Spring Beans are picked up as configurations for the DLC.
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| name | Y | String |
Name of the topic. | |
| sql | Y | String |
SQL statement. Can accept parameters. | |
| parameterOrder | List<String> |
List which contains the order of scope keys for providing parameters to the prepared statement. Values come from the scope of the request. | ||
| channels | Set<Channel> |
A channel is created using the topic’s name as the name of the target. | Channels. | |
| restrictToSources | Set<String> |
Sources to which the topic is restricted. | ||
| restrictFromSources | Set<String> |
Sources from which the topic restricted. |
Java Example
@Bean
public JdbcTopicDescription tradesTopic() {
return JdbcTopicDescription.builder("trades", "SELECT * FROM table1")
.build();
}
@Bean
public JdbcTopicDescription tradesTopic() {
return JdbcTopicDescription.builder("Trades", """
SELECT ProductId AS ProductId,
Name AS ProductName,
Color AS ProductColor,
Price AS ProductPrice,
CobDate AS CobDate
FROM ProductStore
WHERE CobDate = ?""")
.parameterOrder(List.of("CobDate"))
.build();
}