Skip to main content

Creating single instance of Java Application

Prerequisites:

  • Basic Java project creation
  • Knowledge in SWT/JFace dialog
There are several ways to enforce a single instance of java application. Here I am going to explain about one of the most used way to create a single instance for any java application by using Server Socket class.
  1. Create a simple Java project.
  2. Call the below API before the initiation of the project. Surround this API in try/catch block so that if the API succeeds it will execute the application else custom user understandable error message is displayed. 
Explanation:
By creating a server socket instance by passing the port no and local address of the system as parameter one can monitor the application running in that specific port address in that specific system. If user tries to launch another instance of an application server socket throws exception.java.net.BindException: Address already in use: JVM_Bind exception.



For the complete source code of this application please clone/download from the repository https://github.com/SubashJanarthanan/SingleInstance


Comments

Popular posts from this blog

Get your space from Seedr

Seedr: Get your space Seedr simplifies the way you get stuff, stream and access it. You can download it and use it right away. Below are the steps on how we can make use of Seedr Creating a free login Enter into the official website https://www.seedr.cc/ Create a free account by entering your email and a custom password for seedr in the main page as shown below Register on Seedr Once you submit the details you will get a confirmation email and click on the link sent by seedr to activate the account. Now you can login to your account and you can see that you have an free account with the usage limit upto 2 GB of space.  You can upgrade for getting more space. Visit https://www.seedr.cc/subscription for more details. Features of Seedr Access your Torrent Downloads easily Seedr has various ways of adding files to your storage. You can add Seedr to chrome via extension. Please visit  https://www.seedr.cc/pulse/2015/06/21/add-on/ for more details

Creating a System Tray notification with icon in Java

The Java language provides support for creating a popup notification with icon ad message. This can be done using many libraries in Java. Here I am going to demonstrate a simple way using AWT SystemTray . SystemTray class in Java: The SystemTray class represents the system tray for a desktop. On Microsoft Windows it is referred to as the "Taskbar Status Area", on Gnome it is referred to as the "Notification Area", on KDE it is referred to as the "System Tray". The system tray is shared by all applications running on the desktop.  On some platforms the system tray may not be present or may not be supported, in this case SystemTray.getSystemTray() throws UnsupportedOperationException. To detect whether the system tray is supported, use SystemTray.isSupported() method which returns true is it is supported.  For example: if (SystemTray.isSupported()) { System.out.println("System tray supported for this one!");         } else {    

Disable/Restrict the user from resizing the JFace application window.

Below are the steps if you would like to Disable/Restrict the user from resizing/maximize/minimize the JFace application window. Step 1: Create a sample JFace Application window. Open Eclipse and go to File --> Other New wizard dialog opens asking you to select the project type. Go to WindowBuilder -> SWT Designer -> SWT/JFace Java Project  (If you are not having the window builder plugin enabled in your eclipse please go through this link https://o7planning.org/en/10105/install-windowbuilder-into-eclipse to install window builder) Click Next and provide a valid project name and click finish to create a SWT/Jface project. Project gets created in your workspace, create a package in the src folder and right click on the package and select New -> other and select WindowBuilder -> SWT Designer -> JFace -> ApplicationWindow.  Click Next and provide a valid ApplicationWindow name "SampleWindow" and click Finish. A sample