2016-09-25 58 views
0

Jboss As 7.0にEJBをデプロイしました。jbossにデプロイされたEJBにアクセスできない7

以下は、EJBのJNDIバインディングについての展開ログの内容です。

19:21:43269 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSCサービススレッド1-1)デプロイメントユニット展開で ManageEmployeeBeanという名前のセッションBeanのJNDIバインディング」 EJBTest1.jar」 は次のとおりです。

のjava:グローバル/ EJBTest1/ManageEmployeeBeanをcom.test.ejb.businessimpl.ManageEmployeeBeanRemote のjava:!アプリ/ EJBTest1/ManageEmployeeBean com.test.ejb.businessimpl.ManageEmployeeBeanRemote のjava :module/ManageEmployeeBean!com.test.ejb.businessimpl.ManageEmployeeBeanRemote のjava:!のJBoss /エクスポート/ EJBTest1/ManageEmployeeBean com.test.ejb.businessimpl.ManageEmployeeBeanRemote のjava:グローバル/ EJBTest1/ManageEmployeeBean のjava:アプリ/ EJBTest1/ManageEmployeeBeanのjava:モジュール/ ManageEmployeeBean

これはどのようにあります私のクライアントクラスは次のようになります。

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; 
    } 


} 

クライアントは実行時にサービスを見つけることができません。

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 

私はここに何が欠けているのですか? 私はstackoverflowの似たような話題のスレッドをたくさん見ましたが、それらのどれも私を助けませんでした!

答えて

1

JBoss AS 5(またはそれ以前)のEJBリモートクライアントを使用しようとしています。

JBoss AS 7 EJBリモートクライアントを使用し、Remote JNDIの見出しのAS7 JNDI Referenceにあるドキュメントに従って設定する必要があります。

関連する問題