#107 Tolerant Reader JavaDoc

This commit is contained in:
Ilkka Seppala 2015-08-21 23:25:22 +03:00
parent 0bda2bda1e
commit 35e1afd7dc
3 changed files with 12 additions and 8 deletions

View File

@ -7,14 +7,14 @@ import java.io.IOException;
* 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
* service. This way, when the communication schema changes, the readers must not break.
*
* In this example we use Java serialization to write representations of RainbowFish
* objects to file. RainbowFish is the initial version which we can easily read and
* write using RainbowFishSerializer methods. RainbowFish then evolves to RainbowFishV2
* <p>
* In this example we use Java serialization to write representations of {@link RainbowFish}
* objects to file. {@link RainbowFish} is the initial version which we can easily read and
* 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
* 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
* 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 {

View File

@ -10,8 +10,8 @@ import java.util.Map;
/**
*
* RainbowFishSerializer provides methods for reading and writing RainbowFish objects to file.
* Tolerant Reader pattern is implemented here by serializing maps instead of RainbowFish objects.
* RainbowFishSerializer provides methods for reading and writing {@link RainbowFish} objects to file.
* 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.
*
*/

View File

@ -9,7 +9,11 @@ import org.junit.Test;
import com.iluwatar.tolerantreader.App;
/**
*
* Application test
*
*/
public class AppTest {
@Test