Ich habe 2 Server-Instanzen von Jboss 5, von denen jeder mit zwei EARs bereitgestellt wird. Sagen Sie Client.Ear und Server.Ear. Server Ohr einige Ejb's freilegen. Ich möchte dies über Annotation in ClientEar einfügen. Mit JNDI Lookup habe ich es gut gemacht und es funktioniert. Aber mit Annotation bekomme ich immer javax.naming.NamingException. Beim Einfügen von Session-Beans über Deployment-Artefakte muss jedoch der globale JNDI-Name für die Injektion verwendet werden, und ich verwendete auch @EJB (mappedName = "java: global/Server/Komponente/ApplicationService! Com.test.server.ApplicationServiceInterface"))Remote-Lookup mit @ejb Annotation
Aber es scheint, als ob ich die provider_url des Remote-Servers nicht zur Verfügung stellen, um es an die Client-Ohr-Instanz zu binden. Wie kann ich jndi Eigenschaften, dh provider_url, initiale Kontexteigenschaften mit der Annotation @ EJB konfigurieren?
Viele Anwendungsserver unterstützen die Verwendung der '@ EJB' Anmerkung entfernte Bohnen zum Ziel, darunter JBoss (per Rodrigos Antwort) und Glassfish. – DavidS
Aber die Antwort von Rodrigo zeigt nicht an, wo die IP-Adresse des Servers, der das Remote-EJB bereitstellt, definiert wird. – Farah
@Farah: Sie definieren die IP-Adresse des Servers über eine Eigenschaftendatei. Im Falle von Jboss platzieren Sie eine 'jboss-ejb-client.properties' in Ihrem Quellstammverzeichnis. Ein Beispiel finden Sie unter: https://github.com/akquinet/jbosscc-wildfly-examples/blob/master/ejb-remote-example/ejb-remote-example-ejb-client/src/main/resources/jboss- ejb-client.properties – gmazlami