My implemenation is to cache the contractors during the initial start up in a hashmap. There will be no problem if it is running as server mode with multiple clients, but when run in 2 standalone modes, 1 user will never know that other user has updated the file until he/she refreshed, there is chance that one stand alone client overwrites changes of other stand alone client. is it acceptable?
check your assignement about the number of software accessing the database file. It is very likely that at most one program access the database file at any moment (this is the requirement for my assignement, for example). If so, you are not supposed to support two standalone mode programs running simultaneously.