Вот моя тройка:
- Отсутствие документации
- нерешительный API
- Не нашел никого, кто бы использовал его, кроме серверов приложений
Существует несколько руководств по использованию JNDI, но в большинстве случаев вы застреваете, когда что-то идет не так. Реализация также не одобряет полезные сообщения об ошибках. Если ключ не может быть найден, вы просто получаете самое внутреннее имя ключа - путь, по которому ведет к ключу, отсутствует.
Нет также способа навигации по иерархии JNDI. Какой смысл иметь иерархию с родителями и потомками, когда вы не можете перемещаться по ней?
А что насчет java:comp/env
? Почему это там? Когда я могу опустить это? Когда я должен использовать это? Кто-нибудь когда-нибудь добавлял дерево, которое не начинается с java:
?