Log Manager runs on background and monitors the database for expired requests. When it encounters a expired request, it sends a cancel to the request owner (external supplier system) and removes the expired requests from the database.
The system is written with JAVA language with IIOP as transport. The system has a master and a slave process. At Any point if one of these don't receive heartbeat information from the other they can take over the responsibility of one another (i.e. if the master process dies, slave becomes the master service). The master process wakes up every preset time interval and performs the required tasks.
Since the master process also is a CORBA service, any client, including a C++ client can request the master process at any time to start the request processing.
The database access is via JDBC using Type 4 driver.