1 | RAM | 1 |
1.1 | Embracing RAM Resident Data | 2 |
1.2 | Why This May Not Be For You | 5 |
1.3 | Threat Models | 6 |
1.4 | ACID Compliance | 7 |
1.5 | Using the Book | 9 |
2 | Basic Object in Files | 11 |
2.1 | An Example | 12 |
2.2 | Serializable | 13 |
2.2.1 | Transient | 14 |
2.3 | The File | 14 |
2.4 | Repeated Objects | 16 |
2.5 | Linked Objects | 18 |
2.6 | Conclusion | 20 |
2.6.1 | Lessons | 20 |
3 | A Quick Start | 23 |
3.1 | Appending Object Streams | 24 |
3.1.1 | Avoiding the Header | 25 |
3.2 | A Data Store | 26 |
3.3 | Conclusion | 27 |
3.3.1 | Lessons | 27 |
4 | Atomic Operations | 29 |
4.1 | Basic Atomicity | 30 |
4.2 | Optimistic Commit | 31 |
4.2.1 | Pessimistic Commitment | 32 |
4.3 | Rollback Wrappers | 32 |
4.4 | Conclusion | 34 |
4.4.1 | Lessons | 34 |
5 | Commands | 37 |
5.1 | A Monster Example | 38 |
5.2 | Processing Commands | 40 |
5.3 | Conclusion | 40 |
5.3.1 | Lessons | 41 |
6 | Threads | 43 |
6.1 | Total Information Locking | 44 |
6.2 | Individual Object Locking | 45 |
6.3 | Command Level Locking | 46 |
6.4 | Conclusion | 48 |
6.4.1 | Lessons | 49 |
7 | Prevayler | 51 |
7.1 | Prevayler 1.0¹s Architecture | 52 |
7.2 | An Example | 53 |
7.2.1 | Team Objects | 54 |
7.2.2 | The TeamRecords Object | 55 |
7.2.3 | The PrintRecordsCommand | 56 |
7.2.4 | The ReportGameCommand | 56 |
7.2.5 | Tying It Together | 57 |
7.3 | Conclusion | 58 |
7.3.1 | Lessons | 58 |
8 | Schema | 61 |
8.1 | Conversion | 62 |
8.2 | Faking It | 63 |
8.2.1 | Adding A New Field | 64 |
8.2.2 | The Format | 65 |
8.3 | Defining readObject | 67 |
8.3.1 | Overriding Built-In Methods . | 67 |
8.3.2 | Overriding Everything | 69 |
8.4 | Conclusion | 70 |
8.4.1 | Lessons | 70 |
9 | XML | 73 |
9.1 | Cheap XML | 73 |
9.2 | Using Commas or Tabs for Tags | 75 |
9.3 | Built-inXML | 75 |
9.4 | Conclusion | 77 |
9.4.1 | Lessons | 77 |
10 | Mirrors | 79 |
10.1 | Choosing a Model | 80 |
10.2 | A Reservation Example | 80 |
10.2.1 | RMI Guts | 82 |
10.2.2 | Working with RMI | 84 |
10.3 | Conclusion | 84 |
10.3.1 | Lessons | 85 |
11 | Double Checking | 87 |
11.1 | Implementation | 88 |
11.1.1 | An Object to Back Up | 88 |
11.1.2 | Stitching It Together | 90 |
11.1.3 | A Hex Dump | 91 |
11.2 | Conclusion | 92 |
11.2.1 | Lessons | 92 |
12 | Prevayler 2 | 93 |
12.1 | Basic Prevayler 2 | 93 |
12.2 | Simple Example | 95 |
12.2.1 | The Transactions and Query | 95 |
12.2.2 | Putting Everything Together | 97 |
12.3 | Advanced Features | 98 |
12.3.1 | Mirrors | 98 |
12.4 | Conclusion | 99 |
12.4.1 | Lessons | 99 |
13 | Closing | 101 |
13.1 | Beyond this Book | 102 |
- Log in to post comments