Details
-
New Feature
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
jtsk_2.1
-
None
-
None
Description
It would be very nice if the Transaction Manager could generate RemoteEvents
when transactions abort or commit. This way, an object that is not taking place
in a transaction could be notified when a transaction completes either way and
take appropriate action.
The particular reason I want this is that I am designing a system to run jobs
in a distributed environment. I have a server that puts jobs into a queue (a
javaspace). Hosts that can run the job are notified when this happens, bid on
the job, and the winner takes it. The jobs take an undetermined amount of time
and MUST complete. My solution to this part is to make the take the first part
of the transaction and when the job completes, put another object in the space
that is the end of the transaction. The host will renew the lease on the
transaction until the job is done. If the host or the network goes down, the
lease will expire and the transaction will abort and the job will be back in
the space. The job server needs to know when this happens so it can take
appropriate action. It can't just listen for jobs being put in the queue since
they are continually being put there anyway and doing some type of checking
would have too much over head.
Like I said, the ideal solution would be if the job server could register with
the Transaction Manager and get notified when the transaction aborted. Then it
would be a simple matter to fish the job out of the space and take corrective
action.