#107 Tolerant Reader JavaDoc
This commit is contained in:
parent
0bda2bda1e
commit
35e1afd7dc
@ -7,14 +7,14 @@ import java.io.IOException;
|
|||||||
* Tolerant Reader is an integration pattern that helps creating robust communication
|
* Tolerant Reader is an integration pattern that helps creating robust communication
|
||||||
* systems. The idea is to be as tolerant as possible when reading data from another
|
* systems. The idea is to be as tolerant as possible when reading data from another
|
||||||
* service. This way, when the communication schema changes, the readers must not break.
|
* service. This way, when the communication schema changes, the readers must not break.
|
||||||
*
|
* <p>
|
||||||
* In this example we use Java serialization to write representations of RainbowFish
|
* In this example we use Java serialization to write representations of {@link RainbowFish}
|
||||||
* objects to file. RainbowFish is the initial version which we can easily read and
|
* objects to file. {@link RainbowFish} is the initial version which we can easily read and
|
||||||
* write using RainbowFishSerializer methods. RainbowFish then evolves to RainbowFishV2
|
* write using {@link RainbowFishSerializer} methods. {@link RainbowFish} then evolves to {@link RainbowFishV2}
|
||||||
* and we again write it to file with a method designed to do just that. However, the reader
|
* and we again write it to file with a method designed to do just that. However, the reader
|
||||||
* client does not know about the new format and still reads with the method designed for
|
* client does not know about the new format and still reads with the method designed for
|
||||||
* V1 schema. Fortunately the reading method has been designed with the Tolerant Reader
|
* V1 schema. Fortunately the reading method has been designed with the Tolerant Reader
|
||||||
* pattern and does not break even though RainbowFishV2 has new fields that are serialized.
|
* pattern and does not break even though {@link RainbowFishV2} has new fields that are serialized.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class App {
|
public class App {
|
||||||
|
@ -10,8 +10,8 @@ import java.util.Map;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* RainbowFishSerializer provides methods for reading and writing RainbowFish objects to file.
|
* RainbowFishSerializer provides methods for reading and writing {@link RainbowFish} objects to file.
|
||||||
* Tolerant Reader pattern is implemented here by serializing maps instead of RainbowFish objects.
|
* Tolerant Reader pattern is implemented here by serializing maps instead of {@link RainbowFish} objects.
|
||||||
* This way the reader does not break even though new properties are added to the schema.
|
* This way the reader does not break even though new properties are added to the schema.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -9,7 +9,11 @@ import org.junit.Test;
|
|||||||
|
|
||||||
import com.iluwatar.tolerantreader.App;
|
import com.iluwatar.tolerantreader.App;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Application test
|
||||||
|
*
|
||||||
|
*/
|
||||||
public class AppTest {
|
public class AppTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
x
Reference in New Issue
Block a user