Java Glossary : single instance
Last updated 2004-06-28 by Roedy
Green ©1996-2004 Canadian Mind Products
Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
You are here : home : Java
Glossary : S words : single instance.
- single instance
- You may want to prevent the user from spawning multiple copies of your Java
application. Here are two approaches:
-
Test for the presence of a busy file. If one exists,
abort. If not create one. The test and create can be in the bat file that
triggers the app or in the app itself. When the app exists it deletes the busy
marker file. The main problem with this simple approach is if your app crashes,
it won't delete the busy file. You have to manually
delete it before you can run the app again.
-
Another approach is to have your application open a ServerSocket
on a particular port number. The OS will prevent other processes from opening a ServerSocket
that uses the same port.
If you start the application and are unable to open your ServerSocket
(i.e. if you get an "address already in use" exception) assume that
the application is already running. In that case, you can use a Socket
to connect to the running application and pass it whatever commands you like, or
just abort.