Multi-Process & Multi-Threaded Transaction Support
ObjectDatabase++ was initially designed to run in both a multi-thread and
multi-process environment. We had this design goal for creating servers that
can auto-repair themselves by detecting
when a process is no longer responding correctly, use the Operating System to
kill off the dysfunctional process and create a new one. This ability enable
servers to literally heal themselves when they encounter problems and is very
useful in wireless situations where the user
is far away from the server and unable to physically interact with it.
Because of these design requirements ObjectDatabase++ has a new and unique
transaction log file, that enables
ObjectDatabase++ to be both multi-process and multi-threaded capable. For this
ObjectDatabase++ can detect that a transaction has exited incorrectly and
repair the database without any undue interference to any currently processing
transactions, whether running as a thread within the current process or
externally within another process.
|