Skip to content

Commit 1842a51

Browse files
committed
updates for 0.0.4
1 parent b5fb1ce commit 1842a51

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

README.adoc

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
:project-owner: redis-field-engineering
55
:project-name: redis-flink-connector
66
:project-group: com.redis
7-
:project-version: 0.0.3
7+
:project-version: 0.0.4
88
:dist-repo-name: redis-flink-connector-dist
99

1010
The Redis Flink Connector is a highly performant, scalable Flink Source and Sink
@@ -60,6 +60,7 @@ The following table describes the fields in that class:
6060
| `useClusterApi` | `boolean` | `false` | No
6161
| `requireAck` | `boolean` | `true` | No
6262
| `startingId` | `StreamEntryID` | `StreamEntryID.XGROUP_LAST_ENTRY` | No
63+
|`failedDeserializationStreamName` | `String` | `""` (empty string) | No
6364
|===
6465

6566
You can then initialize the Source Builder using:
@@ -88,15 +89,17 @@ To use the Redis Stream Sink, you can initialize a `RedisSinkConfig` object with
8889

8990
The following table describes the fields in that class:
9091

91-
[cols="1,1,1,1",options="header"]
92+
[cols="1,1,1,1,1",options="header"]
9293
|===
93-
| **Field** | **Type** | **Default Value** | **Required**
94-
| `host` | `String` | `"localhost"` | No
95-
| `port` | `int` | `6379` | No
96-
| `password` | `String` | `""` (empty string) | No
97-
| `user` | `String` | `"default"` | No
98-
| `topicName` | `String` | N/A | Yes
99-
| `numPartitions` | `int` | N/A | Yes
94+
| **Field** | **Type** | **Default Value** | **Required** | **description**
95+
| `host` | `String` | `"localhost"` | No | the Redis host name
96+
| `port` | `int` | `6379` | No | the Redis port
97+
| `password` | `String` | `""` (empty string) | No | the Redis password
98+
| `user` | `String` | `"default"` | No | the Redis user
99+
| `topicName` | `String` | N/A | Yes | the Topic Name
100+
| `numPartitions` | `int` | N/A | Yes | the number of partitions
101+
| `flushOnCheckpoint` | `boolean` | `false` | No | whether to flush writes on checkpoint
102+
| `failedSerializationStreamName` | `String` | `""` (empty string) | No | the stream name to serialization errors to
100103
|===
101104

102105
You then have to initialize the builder and sink to it:
@@ -120,7 +123,17 @@ The `RedisPasssthroughSerializer` and the `RedisMessageDeserializer` are a simpl
120123

121124
The `RedisObjectSerializer` and `RedisObjectDeserializer` are generic serializers/deserializers that allow you to work with your standard serializable POJOs.
122125
You can use these if you want to work with your own objects domain objects, the object is serialized to JSON and added as the
123-
`data` field of the Stream Message that is sent to Redis.
126+
`data` field of the Stream Message that is sent to Redis. If you need to add specific modules to the `ObjectMapper` (e.g. `JavaTimeModule`), you can do so by
127+
passing in an `ObjectMapperSupplier` to the `RedisObjectSerializer` and `RedisObjectDeserializer` constructors. E.g.
128+
129+
[source,java]
130+
----
131+
RedisObjectSerializer<Person> serializer = new RedisObjectSerializer<>(() -> {
132+
ObjectMapper objectMapper = new ObjectMapper();
133+
objectMapper.registerModule(new JavaTimeModule());
134+
return objectMapper;
135+
});
136+
----
124137

125138
If you use these, you may also want to provide a `RedisKeyExtractor` to extract the key from the object, otherwise, a hashcode extracted from the JSON payload of the object will act as the key.
126139

0 commit comments

Comments
 (0)