[jboss-user] [Persistence, JBoss/CMP, Hibernate, Database] - JNDI lookup for failed!

rajeshhanu do-not-reply at jboss.com
Mon May 4 16:23:24 EDT 2009


Hi Guys,

When i run the application, i got the following error.

Exception in thread "main" com.lsyas.acs.common.exception.SystemException: JNDI lookup for FluegeManager failed!
at com.lsyas.acs.advanced.handling.db.JndiAccess.lookup(JndiAccess.java:148)
at com.lsyas.acs.advanced.handling.db.JndiAccess.lookup(JndiAccess.java:124)
at com.lsyas.acs.advanced.handling.db.RemoteLocator.getRemoteInstance(RemoteLocator.java:106)
at com.lsyas.acs.advanced.handling.db.TestMain.testdatamethod(TestMain.java:27)
at com.lsyas.acs.advanced.handling.db.TestMain.main(TestMain.java:34)
Caused by: javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:8080 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 localhost:8080 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:8080 [Root exception is java.net.ConnectException: Connection refused: connect]]]
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.lsyas.acs.advanced.handling.db.JndiAccess.lookup(JndiAccess.java:146)
... 4 more
Caused by: javax.naming.CommunicationException: Failed to connect to server localhost:8080 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:8080 [Root exception is java.net.ConnectException: Connection refused: connect]]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:274)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1533)
... 8 more
Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server localhost:8080 [Root exception is java.net.ConnectException: Connection refused: connect]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:248)
... 9 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84)
at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77)
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:244)
... 9 more


I am using JBoss-4.2.3.GA

The following files are used to get the JNDI context.

TestMain.java
------------------

public class TestMain {

private FluegeManager manager = null;
/**
* @param args
*/

public void testdatamethod() {
RemoteLocator remoteLocator = new RemoteLocator("org.jnp.interfaces.NamingContextFactory",
"jnp://localhost:8080",
"org.jboss.naming:org.jnp.interfaces");
manager = remoteLocator.getRemoteInstance(FluegeManager.class);
List fluegedata = manager.getAll();
System.out.println("Data Size is "+ fluegedata.size());

}
public static void main(String[] args) {
TestMain testMain = new TestMain();
testMain.testdatamethod();
}

}


RemoteLocater.java
---------------------------

public class RemoteLocator {
private JndiAccess jndiAccess;

public RemoteLocator() {
jndiAccess = new JndiAccess();
}

public RemoteLocator(String initialContextFactory, String providerUrl, String urlPkgPrefixes) {
jndiAccess = new JndiAccess(initialContextFactory, providerUrl, urlPkgPrefixes);
}

@SuppressWarnings({"MissingClassJavaDoc"})
public T getRemoteInstance(Class remoteInterface) {
return jndiAccess.lookup(remoteInterface.getSimpleName(), remoteInterface);
}
}

JndiAccess.java
---------------------

public class JndiAccess {
private String initialContextFactory;
private String providerUrl;
private String urlPkgPrefixes;
private InitialContext initialContext = null;

public JndiAccess() {
initialContextFactory = null;
providerUrl = null;
urlPkgPrefixes = null;
}

public JndiAccess(String initialContextFactory, String providerUrl, String urlPkgPrefixes) {
this.initialContextFactory = initialContextFactory;
this.providerUrl = providerUrl;
this.urlPkgPrefixes = urlPkgPrefixes;
}


private Object lookup(String dataJndiName) {
try {
if (initialContext == null) {
if (initialContextFactory != null || providerUrl != null || urlPkgPrefixes != null) {
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
env.put(Context.PROVIDER_URL, providerUrl);
env.put(Context.URL_PKG_PREFIXES, urlPkgPrefixes);
initialContext = new InitialContext(env);
} else {
initialContext = new InitialContext();
}
}
return initialContext.lookup(dataJndiName);
} catch (NamingException e) {
throw new SystemException("JNDI lookup for " + dataJndiName + " failed!", e);
}
}
}


Please help me. 

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4228425#4228425

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4228425



More information about the jboss-user mailing list