Кажется, поддержка удаленного поиска JNDI была реализована только в JBoss AS 7.1.0.Final ( AS7-1338 ).
Свойства JNDI для выполнения удаленного поиска также изменились.Не могли бы вы попытаться создать экземпляр InitialContext
с этими свойствами JNDI?
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
properties.put(Context.PROVIDER_URL, "remote://localhost:4447");
properties.put(Context.SECURITY_PRINCIPAL, "user");
properties.put(Context.SECURITY_CREDENTIALS, "password");
Удаленный доступ к дереву JNDI защищен, поэтому вам нужно предоставить пользователя и пароль (добавить пользователя приложения через add-user.sh
/ add-user.bat
script).
Я сделал это на своем локальном сервере, но NamingEnumeration
, возвращаемый InitialContext.list()
, все еще пуст, хотя поиск ниже работает нормально.Я разместил ответ на форуме JBoss , но пока не повезло.
// This lookup works fine
System.out.println(ctx.lookup("jms/RemoteConnectionFactory").getClass().getName());
// ... but this list doesn't (empty enumeration)
NamingEnumeration<NameClassPair> list = ctx.list("");