Warum ist mein JNDI-lookup für eine QueueConnectionFactory null zurückgeben?

Ich versuche zu schauen, eine QueueConnectionFactory und Queue über Geronimo ' s-JNDI -. Die Queue wird zurückgegeben in Ordnung, aber die QueueConnectionFactory lookup immer null zurück. Es nicht werfen NamingException, das ist, was ich erwarten würde, wenn der JNDI-name war falsch.

Kann jemand sehen, was ich falsch mache? Der test code unten Ausgänge:

wahr 
false 

import javax.jms.Queue;
import javax.jms.QueueConnectionFactory;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class JndiTest
{
    private final static String QUEUE_NAME = "jca:/org.apache.geronimo.configs/activemq-ra/JCAAdminObject/SendReceiveQueue";
    private final static String FACTORY_NAME = "jca:/org.apache.geronimo.configs/activemq-ra/JCAManagedConnectionFactory/DefaultActiveMQConnectionFactory";

    public static void main(String[] args) throws NamingException
    {
        InitialContext ctx = new InitialContext();
        QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup(FACTORY_NAME);
        Queue queue = (Queue)ctx.lookup(QUEUE_NAME);
        System.out.println(factory == null);
        System.out.println(queue == null);      
    }

}

Falls es einen Unterschied macht: habe ich Hinzugefügt openejb-client-3.0.1.jar, geronimo-ejb_3.0_spec-1.0.1.jar und activemq-core-4.1.2-G20090207.jar zu meiner Klasse Weg, und mein jndi.properties-Datei hat die folgenden Eigenschaften:

java.die Benennung.factory.initial = org.apache.openejb.client.RemoteInitialContextFactory 
java.die Benennung.Anbieter.url = ejbd://127.0.0.1:4201 
Schreibe einen Kommentar