Hash Map Lookup
You should be able to use a HashMap lookup. This is probably not thread-safe, so you would need to use a ReadWriteLock to enable multiple readers of the Dictionary, and only exclusively lock it when written to.
Map<String, String> map = new HashMap<String, String>();
Don't use UUID
According to the RFC standard, UUIDs are "unique" but they are not cryptographically pseudorandom. Instead you should something like SecureRandom to generate your keys, and encode as base64 or hex.
(note: Some Java implementations are at least considered to be a secure implementation, but you probably shouldn't rely on that.)
Consider outputting a PoolObject from the dictionary
The output value of the dictionary could be a connection-string as you require today, but you might consider returning a PoolObject of some sort. Such a PoolObject would manage a pool of connections for the same ID, allowing fast connection reuse within a timeout period.