2010-06-07 17 views
12

Tengo un módulo EJB en el servidor remoto Glassfish y el cliente de la aplicación en mi computadora. Quiero conectarme desde el cliente de la aplicación al EJB remoto.Cómo conectar el módulo EJB remoto desde el cliente de la aplicación

Aquí es la interfaz de mi EJB:

@Remote 
public interface BookEJBRemote 
{ 
    public String getTitle(); 
} 

Aquí es el mi EJB:

@Stateless 
public class BookEJB implements BookEJBRemote 
{ 

    @Override 
    public String getTitle() 
    { 
     return "Twenty Thousand Leagues Under the Sea"; 
    } 
} 

tengo varias preguntas:

  1. ¿Puedo utilizar la inyección de dependencias en el cliente de la aplicación remota para conectarse al ejb? Si es así, ¿qué puedo hacer para lograr esto? ¿Debo configurarlo en sun-ejb-jar.xml y sun-application-client.xml? En otras palabras, si uso Dependency Injection como @EJB BookEJBRemote book; ¿Cómo sabe el contenedor del cliente de la aplicación qué ejb se inyectará? ¿Dónde debería especificar la información?
  2. ¿Cómo puedo ejecutar el cliente de la aplicación? Intenté ejecutar package-appclient en el servidor glassfish para obtener appclient.jar y copiarlo a mi computadora. Luego escribo appclient.jar -client myAppClient.jar. No funcionó. ¿Cómo señalo el servidor de destino?
  3. si no puedo usar Dependency Injection en el cliente, entonces supongo que tengo que usar la búsqueda JNDI. ¿Debo configurar el nombre de jndi en sun-ejb-jar.xml o en sun-application-client.xml?

No importa cómo lo intente, nunca logro ejecutar el cliente de la aplicación? ¿Pueden poner un ejemplo de trabajo? ¿Y gracias por cada consejo y ejemplo?

+0

Usted pregunta se responde parcialmente en [anotación @EJB de clientes] (http://stackoverflow.com/questions/848675): Glassfish es compatible con la gestión de aplicaciones de cliente independientes si las ejecuta a través de ['bin/appclient -client myprogram.jar'] (http://www.ensode.net/glassfish_rich_ejb_clients.html). El cliente debe especificar la configuración JNDI en ['jndi.properties'] (http://www.codeproject.com/Articles/42394/How-to-create-JBoss-ejb3-session-bean-standalone-c) y la descripción del servicio en ['application-client.xml'] (http://download.oracle.com/docs/cd/B15897_01/web.1012/b15505/access.htm#sthref238). –

+0

Estoy de acuerdo con esta pregunta. Cada publicación que he leído en línea solo muestra cómo ejecutar un cliente de aplicaciones en netbeans. Parece que no hay absolutamente nada que explique cómo ejecutar clientes de aplicaciones fuera de netbeans. +1. – w0051977

Respuesta

3

Compruebe esto tutorial Creating a Java Stand-Alone Client. Básicamente necesita

  • setup JNDI por su cuenta ya que su cliente no puede usar el entorno de contenedores.
  • Busque la interfaz remota.
  • Y, por supuesto, incluyen los archivos jar necesarios en la ruta de clases
+0

El tutorial que ha citado es bastante antiguo. Está dirigido a personas que usan NetBeans 6.1. Eso fue lanzado hace un par de años. – vkraemer

+0

@vkraemer El artículo dice que también se ha probado con 6.7.1 – stacker

Cuestiones relacionadas