Выполните поиск в другом потоке, чтобы клиентский графический интерфейс не зависал. Вы можете использовать обычный Runnable, чтобы сделать это, или попробуйте лучший вариант, например swingworker .
Боюсь, что для настройки тайм-аута поиска JNDI вам придется взломать внутреннюю часть сервера приложений с открытым исходным кодом, если это возможно.