Hi-Ho zusammen,
ich versuche gerade verzweifelt ein einfaches EJB-Projekt aufzusetzen und zu testen. Als Server verwende ich JBoss 5.0.1 GA (hab bis jetzt leider noch keine Erfahrung mit JBoss), zur Entwicklung Eclipse 3.4. Aber irgendwie will das nicht so ganz. Vorgehensweise:
1.) In Eclipse ein neues EJB-Projekt anlegen.
Project Name: SimpleEJBExample
Target Runtime: JBoss v5.0
EJB Module version: 3.0
Add project to an EAR: SimpleEJBExampleEAR
Keine Generierung von einem EJB-Client.
Deployment Descriptor generieren.
2.) SessionBean anlegen
SimpleEJBExample => Deployment Descriptor => Session Beans => new Session Bean
Package: test
Class name: SimpleEJB
State Type: Stateless
Remote und Local Business-Interface generieren
Bean name: SimpleEJB
Mapped name: leer
Transaction type: Container
3.) EAR auf den Server über Add and Remove Projects deployen
4.) Server starten (ohne Fehlermeldung)
5.) Client anlegen
Neues Java Projekt (SimpleEJBExampleClient)
JBoss Server Runtime in den Build-Path hinzufügen
Neue Klasse => test.SimpleEJBClient
[HIGHLIGHT="Java"]public class SimpleEJBClient {
public static void main(String[] args) throws NamingException {
Properties properties = new Properties();
properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
properties.put("java.naming.factory.url.pkgs","=org.jboss.naming
rg.jnp.interfaces");
properties.put("java.naming.provider.url","localhost:1099");
Context context = new InitialContext(properties);
}
}[/HIGHLIGHT]
Wenn ich diese Klasse jetzt ausführe, läuft noch alles wie geplant ohne Fehlermeldung. Füge ich jetzt aber am Ende noch ein
[HIGHLIGHT="Java"]context.lookup("SimpleEJB/remote");[/HIGHLIGHT]
ein, erhalte ich folgende Fehlermeldung:
Von euch arbeiten doch sicherlich viele täglich mit JBoss. Evtl. sieht ja einer meinen Fehler
. Danke!
ich versuche gerade verzweifelt ein einfaches EJB-Projekt aufzusetzen und zu testen. Als Server verwende ich JBoss 5.0.1 GA (hab bis jetzt leider noch keine Erfahrung mit JBoss), zur Entwicklung Eclipse 3.4. Aber irgendwie will das nicht so ganz. Vorgehensweise:
1.) In Eclipse ein neues EJB-Projekt anlegen.
Project Name: SimpleEJBExample
Target Runtime: JBoss v5.0
EJB Module version: 3.0
Add project to an EAR: SimpleEJBExampleEAR
Keine Generierung von einem EJB-Client.
Deployment Descriptor generieren.
2.) SessionBean anlegen
SimpleEJBExample => Deployment Descriptor => Session Beans => new Session Bean
Package: test
Class name: SimpleEJB
State Type: Stateless
Remote und Local Business-Interface generieren
Bean name: SimpleEJB
Mapped name: leer
Transaction type: Container
3.) EAR auf den Server über Add and Remove Projects deployen
4.) Server starten (ohne Fehlermeldung)
5.) Client anlegen
Neues Java Projekt (SimpleEJBExampleClient)
JBoss Server Runtime in den Build-Path hinzufügen
Neue Klasse => test.SimpleEJBClient
[HIGHLIGHT="Java"]public class SimpleEJBClient {
public static void main(String[] args) throws NamingException {
Properties properties = new Properties();
properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
properties.put("java.naming.factory.url.pkgs","=org.jboss.naming
properties.put("java.naming.provider.url","localhost:1099");
Context context = new InitialContext(properties);
}
}[/HIGHLIGHT]
Wenn ich diese Klasse jetzt ausführe, läuft noch alles wie geplant ohne Fehlermeldung. Füge ich jetzt aber am Ende noch ein
[HIGHLIGHT="Java"]context.lookup("SimpleEJB/remote");[/HIGHLIGHT]
ein, erhalte ich folgende Fehlermeldung:
Code:
Exception in thread "main" javax.naming.NameNotFoundException: SimpleEJB not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
at javax.naming.InitialContext.lookup(Unknown Source)
at test.SimpleEJBClient.main(SimpleEJBClient.java:18)
Von euch arbeiten doch sicherlich viele täglich mit JBoss. Evtl. sieht ja einer meinen Fehler