I have a singleton like this.
public class BookingFactory { private final static BookingFactory instance; static { instance = new BookingFactor
I highly recommend reading What is an efficient way to implement a singleton pattern in Java? - using an enum prevents what you're describing and is the recommended way to implement a singleton in java.