This is the main entry ID generator to generate unique ids for each entry. The Generator uses {@link java.security.SecureRandom} Numbers and the {@link java.lang.System#currentTimeMillis()} to create a semi-unique sting; The string will be digested by a {@link java.security.MessageDigest} which returns a byte array. The generator encodes the byte array as a hex string.
The generated Id's will cached in a {@link java.util.concurrent.BlockingQueue} and reproduced if an id has been removed.
@author Simon Willnauer