2016-09-25 1 views
0

implementiert wurde. Ich habe ein EJB in Jboss As 7.0 implementiert.Ich kann nicht auf ein EJB zugreifen, das in jboss als 7

Das Folgende ist, was die Bereitstellungsprotokolle über die JNDI-Bindung von EJB sagt.

19: 21: 43.269 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC Dienstthread 1-1) JNDI Bindungen für Sitzungs bean ManageEmployeeBean in Auslegeeinheit Entfaltungs Namen " EJBTest1.jar“sind wie folgt :

java: global/EJBTest1/ManageEmployeeBean com.test.ejb.businessimpl.ManageEmployeeBeanRemote java:! app/EJBTest1/ManageEmployeeBean com.test.ejb.businessimpl.ManageEmployeeBeanRemote java : module/ManageEmployeeBean! com.test.ejb.businessimpl.ManageEmployeeBeanRemote java: Jboss/Export/EJBTest1/ManageEmployeeBean com.test.ejb.businessimpl.ManageEmployeeBeanRemote java: global/EJBTest1/ManageEmployeeBean java: app/EJBTest1/ManageEmployeeBean java: Modul/ManageEmployeeBean

Dies ist, wie Meine Client-Klasse sieht so aus.

package com.test.ejb.test; 

import java.util.Hashtable; 
import java.util.Properties; 

import javax.naming.Context; 
import javax.naming.InitialContext; 
import javax.naming.NamingException; 

import com.test.ejb.bean.Employee; 
import com.test.ejb.businessimpl.ManageEmployeeBean; 
import com.test.ejb.businessimpl.ManageEmployeeBeanRemote; 

public class Client { 

    private static InitialContext initialContext; 

    public static void main(String[] args){ 
     try { 
      getInitialContext(); 
      System.out.println("CTX:"+initialContext); 
     } catch (NamingException e) { 
      e.printStackTrace(); 
     } 

     try { 
      System.out.println("Looking up EJB !!"); 
      ManageEmployeeBeanRemote remote = 
        (ManageEmployeeBeanRemote)initialContext.lookup("/EJBTest1/ManageEmployeeBean!com.test.ejb.businessimpl.ManageEmployeeBeanRemote"); 
      System.out.println("setting employee.............."); 
      Employee employee = new Employee(); 
      employee.setFirstName("Renjith"); 
      employee.setLastName("Ravi"); 

      System.out.println("Adding employee"); 
      remote.addEmployee(employee); 
     } catch (NamingException e) { 
      e.printStackTrace(); 
     } 
    } 

    public static InitialContext getInitialContext() throws NamingException { 
     if (initialContext == null) { 
      Properties prop = new Properties(); 
      prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); 
      prop.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); 
      prop.put(Context.PROVIDER_URL, "remote://localhost:4447"); 
      prop.put(Context.SECURITY_PRINCIPAL, "renjith"); 
      prop.put(Context.SECURITY_CREDENTIALS, "user"); 
      initialContext = new InitialContext(prop); 
     } 
     return initialContext; 
    } 


} 

Client ist nicht in der Lage, den Dienst zu finden, wenn ich es ausführe.

CTX:[email protected] 
Looking up EJB !! 
javax.naming.CommunicationException: Could not obtain connection to any of these urls: remote://localhost:4447 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server remote:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server remote:1099 [Root exception is java.net.UnknownHostException: remote: Name or service not known]]] 
    at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1416) 
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:596) 
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589) 
    at javax.naming.InitialContext.lookup(InitialContext.java:411) 
    at com.test.ejb.test.Client.main(Client.java:29) 
Caused by: javax.naming.CommunicationException: Failed to connect to server remote:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server remote:1099 [Root exception is java.net.UnknownHostException: remote: Name or service not known]] 
    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:269) 
    at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1387) 
    ... 4 more 
Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server remote:1099 [Root exception is java.net.UnknownHostException: remote: Name or service not known] 
    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:243) 
    ... 5 more 
Caused by: java.net.UnknownHostException: remote: Name or service not known 
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) 
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901) 
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293) 
    at java.net.InetAddress.getAllByName0(InetAddress.java:1246) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1162) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1098) 
    at java.net.InetAddress.getByName(InetAddress.java:1048) 
    at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:76) 
    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:239) 
    ... 5 more 

Kann mir jemand sagen, was fehlt mir hier? Ich sah viele Threads zu einem ähnlichen Thema in Stackoverflow, aber keiner von ihnen hat mir geholfen !!

Antwort

1

Sie versuchen, den EJB Remote-Client von JBoss AS 5 (oder früher) zu verwenden.

Sie müssen den JBoss AS 7 EJB Remote-Client verwenden und entsprechend der Dokumentation unter AS7 JNDI Reference unter der Nummer Remote JNDI konfigurieren.

Verwandte Themen