थोड़ी देर के बाद मैंने जेबॉस 7.1.1 के तहत एक स्टेटलेस ईजेबी रन को दूरस्थ पहुंच प्रदान की। गुण का उपयोग कर वस्तु:जेबॉस 7: जेएनडीआई लुकअप
Properties jndiProps = new Properties();
jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.naming.remote.client.InitialContextFactory");
jndiProps.put(Context.PROVIDER_URL,"remote://localhost:4447");
jndiProps.put(Context.SECURITY_PRINCIPAL, "remote");
jndiProps.put(Context.SECURITY_CREDENTIALS, "remotepwd");
jndiProps.put("jboss.naming.client.ejb.context", true);
Context ctx = new InitialContext(jndiProps);
String lookupString = "//HelloWorld/HelloWorldBean!org.acme.test.HelloWorld";
HelloWorld hw = (HelloWorld) ctx.lookup(lookupString);
System.out.println("Response: "+ hw.sayHello("Hi there"));
तो इस काम करता है ठीक लेकिन अब मैं jndi.properties फ़ाइल में JNDI बात रखना चाहता हूँ लेकिन विफल रहा है, यह कैसे फ़ाइल लग रहा है जैसे:
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.factory.url.pkgs=org.jboss.ejb.client.naming
java.naming.provider.url=remote://localhost:4447
java.naming.security.principal=remote
java.naming.security.credentials=remotepwd
अपवाद:
Exception in thread "main" java.lang.IllegalStateException: No EJB receiver available for handling [appName:,modulename:HelloWorld,distinctname:] combination for invocation context [email protected]
at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584)
at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)
at $Proxy0.sayHello(Unknown Source)
at de.brockhaus.test.client.TestClient.main(TestClient.java:35)
मैं पहले से ही कई डॉको के माध्यम से चला गया लेकिन असफल रहा, तो इसे कैसा दिखना है?
देखने स्ट्रिंग के निर्माण के लिए, आप यहाँ संदर्भित कर सकते हैं: https://docs.jboss.org/author/display/AS72/Remote+EJB+ आमंत्रण + के माध्यम से + JNDI + - + EJB + ग्राहक + एपीआई + या + रिमोट नामकरण + परियोजना। रिमोट लिंक के लिए, jboss सर्वर की शुरुआत में, लुकअप स्ट्रिंग आमतौर पर "जावा: jboss/exported /" के ठीक बाद होती है – dellgg