G
Gast
Gast
hab einen Swing-Client, der per RMI auf einen JBoss 4.0.5 (PC mit Vista) zugreift.
Der Swing-Client läuft auf WinXP und führt die Dienste auf dem JBoss ordnungsgemäß aus. Wenn der gleiche Swing-Client auf einer grafischen Linuxoberfläche läuft (Debian/Gnome), gibt es eine Exception.
javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: project.query.projectQHome]
Beim lookup passiert es:
nicht etwa Object 'obj' ist null sondern offensichtlích 'initial.lookup("project_projectQ")'
obwohl das project_projectQ eigentlich im initial gebunden ist (s.o.).
Der Swing-Client läuft auf WinXP und führt die Dienste auf dem JBoss ordnungsgemäß aus. Wenn der gleiche Swing-Client auf einer grafischen Linuxoberfläche läuft (Debian/Gnome), gibt es eine Exception.
javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: project.query.projectQHome]
Code:
Properties objProperties = new Properties();
objProperties.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
objProperties.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
objProperties.put(Context.PROVIDER_URL, "localhost:2001" );
javax.naming.InitialContext initial = new javax.naming.InitialContext(objProperties);
NamingEnumeration ne=initial.list("");
while(ne.hasMore())
{
System.out.println("Bind Objects :"+ne.next());
}
/*ergibt
Bind Objects :project_projectQ: $Proxy58
Bind Objects :projectD_adminE: $Proxy87
Bind Objects :project_adminE: $Proxy64
Bind Objects :project_ServiceContext: $Proxy70
Bind Objects :TopicConnectionFactory: org.jboss.naming.LinkRefPair
Bind Objects :projectD_projectDE: $Proxy85
Bind Objects :jmx: org.jnp.interfaces.NamingContext
Bind Objects :projectD_ServiceContext: $Proxy93
Bind Objects :project_projectE: $Proxy62
Bind Objects :HTTPXAConnectionFactory: org.jboss.mq.SpyXAConnectionFactory
Bind Objects :ConnectionFactory: org.jboss.mq.SpyConnectionFactory
Bind Objects :UserTransactionSessionFactory: $Proxy12
Bind Objects :HTTPConnectionFactory: org.jboss.mq.SpyConnectionFactory
Bind Objects :XAConnectionFactory: org.jboss.mq.SpyXAConnectionFactory
Bind Objects :UserTransaction: org.jboss.tm.usertx.client.ClientUserTransaction
Bind Objects :UILXAConnectionFactory: javax.naming.LinkRef
Bind Objects :project_projectS: $Proxy66
Bind Objects :UIL2XAConnectionFactory: javax.naming.LinkRef
Bind Objects :projectD_AdminS: $Proxy91
Bind Objects :project_AdminS: $Proxy68
Bind Objects :queue: org.jnp.interfaces.NamingContext
Bind Objects :topic: org.jnp.interfaces.NamingContext
Bind Objects :console: org.jnp.interfaces.NamingContext
Bind Objects :UIL2ConnectionFactory: javax.naming.LinkRef
Bind Objects :projectD_adminQ: $Proxy83
Bind Objects :project_adminQ: $Proxy60
Bind Objects :HiLoKeyGeneratorFactory: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory
Bind Objects :UILConnectionFactory: javax.naming.LinkRef
Bind Objects :projectD_projectDS: $Proxy89
Bind Objects :projectD_projectDQ: $Proxy81
Bind Objects :QueueConnectionFactory: org.jboss.naming.LinkRefPair
Bind Objects :UUIDKeyGeneratorFactory: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory
*/
//hier die Exception obwohl project_projectQ gebunden
Object ref=initial.lookup("project_projectQ");
Beim lookup passiert es:
Code:
Object obj = initial.lookup("project_projectQ");
projectQHome home = (projectQHome) javax.rmi.PortableRemoteObject.narrow(obj, projectQHome.class);
projectQ con_project = home.create();
obwohl das project_projectQ eigentlich im initial gebunden ist (s.o.).