Portál AbcLinuxu, 10. května 2025 06:23

Dotaz: OpenEJB jako plugin v Tomcatu a vnější klient

Barbucha.eu avatar 2.11.2010 11:43 Barbucha.eu | skóre: 23 | Chrást u Plzně
OpenEJB jako plugin v Tomcatu a vnější klient
Přečteno: 154×
Odpovědět | Admin

Zaobírám se J2EE. Mám nainstalovaného Tomcata a v něm OpenEJB jako plugin. Podle návodu na stránkách OpenEJB jsem chtěl vyzkoušet jednoduchou, konsolovou, klientskou aplikaci, která beany vypíše a zkusí získat jejich instance. Pro OpenEJB jako samostatný server to funguje, ale při OpenEJB v Tomcatu to padá s blíže těžko určitelnou chybou. Nedaří se mi nikde najít nic bližšího ani ohledně samotného JNDI, co by ozřejmovalo, čím chyba může vznikat.

Kód vypadá následovně:

Properties p = new Properties();
p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
p.put("java.naming.provider.url", "http://localhost:8080/openejb/ejb");
InitialContext c = new InitialContext(p);
NamingEnumeration<NameClassPair> ne = c.list("/");
while (ne.hasMore()) {
	NameClassPair npc = ne.next();
	System.out.println(npc.getName()); //nejprve nalezené jméno vypíše na konsoli
	c.lookup(npc.getName()); //a pak jej použije pro lookup
}
A takový je výstup:
.
openejb
SingletonRemoteImplRemote
java.lang.NullPointerException
	at org.apache.openejb.client.JNDIContext.createBusinessObject(JNDIContext.java:188)
	at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:232)
	at javax.naming.InitialContext.lookup(InitialContext.java:392)
	at util.MainClass.main(MainClass.java:52)

Nejprve se úspěšně provede lookup pro položky tečka a openejb. Ovšem pro samotný bean, který tam je a je jinak z webových aplikací funkční, vyletí NullPointerException.

Co Bůh rozbil, člověk neopravuj!
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Na otázku zatím nikdo bohužel neodpověděl.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.