If these values don't change during runtime, then placing those variables in the ServletContext
scope would make most sense.
If these values do change during runtime, then they will have to reside in a storage medium that is accessible by all servers in your cluster. I'm not sure that JNDI would work for you though (I can't recall anything from the JEE spec mandating synchronization of JNDI trees across containers); distributed cache frameworks such as EHCache would make more sense.