В JBoss AS 7.1.1.Final InitialContext.list() връща празен списък

Опитвам се да преглеждам JMS опашката на JBoss AS 7.1.1.Final, използвайки Hermes JMS, но получавам „празно“ JNDI дърво. За да проуча това, написах проста програма за изхвърляне на JNDI дървовидните възли от JBoss сървър. Кодът е нещо подобно:

public static void main(String[] args) throws Exception {

     final Properties jndiProperties = getJboss7Properties();
     // final Properties jndiProperties = getHornetQProperties();


     // Dumps the initial context contents
     InitialContext ctx = new InitialContext(jndiProperties);
     listRootJndiContext(ctx);


     // Simple lookup
     System.out.println(ctx.lookup("java:jms/RemoteConnectionFactory")
               .getClass().getName());
}

private static Properties getJboss7Properties() {
     final Properties jndiProperties = new Properties();
     jndiProperties.put(Context.INITIAL_CONTEXT_FACTORY,
               "org.jboss.naming.remote.client.InitialContextFactory");
     jndiProperties.put(Context.PROVIDER_URL, "remote://localhost:4447");
     jndiProperties.put(Context.SECURITY_PRINCIPAL, "guest");
     jndiProperties.put(Context.SECURITY_CREDENTIALS, "guest123");
     return jndiProperties;
}

private static void listRootJndiContext(Context ctx) throws NamingException {
     System.out.println("Listing root JNDI context:");
     NamingEnumeration<NameClassPair> list = ctx.list("");
     if (list.hasMore()) {
          while (list.hasMore()) {
                NameClassPair ncp = list.next();
                System.out.println(ncp.getName() + " (" + ncp.getClassName() + ")");
          }
     } else {
          System.out.println("Empty list!");
     }
}

При извикване на ctx.list(""), върнатият списък винаги е празен, въпреки че ctx.lookup("java:jms/RemoteConnectionFactory") връща JMS Connection Factory, както се очаква.

Опитах се да стартирам абсолютно същия код срещу самостоятелен HornetQ сървър (2.2.14.Final), променяйки свойствата на InitialContext, за да използвам „стария“ протокол jnp и възлите на JNDI дървото бяха изхвърлени правилно.

Също така се опитах да стартирам същия код (с изключение на извикването на конструктора по подразбиране InitialContext() в рамките на сървъра (в Servlet) и той също работи според очакванията (изхвърляне на възлите на JNDI дърво).

Има ли някакво разрешение за конфигуриране на standard.xml или нещо подобно?

Тази функция („Отдалечено сърфиране в JNDI“) реализирана ли е изобщо на JBoss AS 7.1.1.Final?


person mhnagaoka    schedule 14.05.2012    source източник
comment
Този въпрос е донякъде свързан с stackoverflow.com/questions /7616981/jboss-jndi-context-is-prazen/   -  person mhnagaoka    schedule 14.05.2012
comment
Също така публикувах този въпрос във форумите на JBoss, но досега нямах успех. community.jboss.org/message/734815   -  person mhnagaoka    schedule 14.05.2012