Поиск JNDI выдает «Исключение NullPointerException» при выполнении поиска очереди в LDAP

#ldap #jms #oracle-aq #apacheds

#ldap #jms #oracle-aq #apacheds

Вопрос:

Я успешно зарегистрировал и извлек объект фабрики соединений с сервера LDAP.Но когда я пытаюсь найти очередь с сервера LDAP, он выдает NPE. Я использую OracleAQ с ApacheDS..

Мой код;

 DirContext destctxQF = (DirContext) inictx.lookup("cn=OracleDBQueues");    
System.out.println("OracleDBQueues look up success "    destctxQF.toString());
Queue queue = (Queue) destctxQF.lookup("cn=ratha.test");
  

И мое определение LDIF для очереди;

 dn: cn=ratha.test,cn=OracleDBQueues,cn=ORCL,cn=OracleContext,ou=Services,o=s
 gi,c=us
objectClass: javaContainer
objectClass: orclDBAQObject
objectClass: javaNamingReference
objectClass: javaObject
objectClass: top
cn: ratha.test
javaClassName: oracle.jms.AQjmsDestination
orcldbaqobjtype: Queue
javaFactory: oracle.jms.AQjmsDestinationFactory
orcldbaqobjname: test
orcldbaqobjowner: ratha
orcldbaqpointerattr: cn=ratha.test_table,cn=OracleDBQueuesTables,cn=ORCL,cn=
 OracleContext,ou=Services,o=sgi,c=us
  

Есть какие-либо подсказки по этому поводу?
Полный стек ошибок;

 javax.naming.NamingException: problem generating object using object factory [Root exception is java.lang.NullPointerException]; remaining name 'cn=ratha.test'
    at com.sun.jndi.ldap.LdapCtx.c_lookup(LdapCtx.java:1070)
    at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(ComponentContext.java:526)
    at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(PartialCompositeContext.java:159)
    at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(PartialCompositeContext.java:148)
    at OracleAQJNDIClient.get_Factory_from_LDAP(OracleAQJNDIClient.java:93)
    at OracleAQJNDIClient.main(OracleAQJNDIClient.java:142)
Caused by: java.lang.NullPointerException
    at oracle.jms.AQjmsDestinationFactory.getObjectInstance(AQjmsDestinationFactory.java:120)
    at javax.naming.spi.DirectoryManager.getObjectInstance(DirectoryManager.java:176)
    at com.sun.jndi.ldap.LdapCtx.c_lookup(LdapCtx.java:1063)
    ... 5 more
  

Спасибо,
-Ратха

Комментарии:

1. Как вы создали InitialContext?

2. Привет, я решил это, установив «orcldbaqgeneric= maxretries = 3»