Concurrent non-blocking refresh
As long as you are 100% certain that all threads will use the same instance of MyModuleRefreshableConfig, this code should work. Just to be certain I would make the refreshConfigMutexstatic:

private static final AtomicBoolean refreshConfigMutex;

public MyModuleRefreshableConfig(IConfiguration configProvider, long refreshInterval) {
    synchronized {
         if (refreshConfigMutex == null) {
             refreshConfigMutex = new AtomicBoolean(false);
         }
    }
    ....
}