20 May 2010

WLS ListenAddress

When the WebLogic Server is set up to listen a specific port then it stops to listen even the loopback address (localhost/127.0.0.1), let's suppose you want to listen each local server where your application has been deployed.

And could appears many Exceptions related to, such as:

Failed to connect to t3://localhost:7003: Destination unreachable; nested exception is:
java.net.ConnectException: Connection refused; No available router to destination
java.net.ConnectException: t3://localhost:7003: Destination unreachable; nested exception is:
java.net.ConnectException: Connection refused; No available router to destination
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:203)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate$1.run(WLInitialContextFactoryDelegate.java:344)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:339)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.Environment.createInitialContext(Environment.java:208)
at weblogic.jndi.Environment.getInitialContext(Environment.java:192)
at weblogic.jndi.Environment.getInitialContext(Environment.java:170)
at weblogic.management.commandline.tools.AdminToolHelper.getMBeanHome(AdminToolHelper.java:590)
at weblogic.management.commandline.tools.ServerInfoCommandLineInvoker.doCommandline(ServerInfoCommandLineInvoker.java:924)
at weblogic.management.commandline.tools.ServerInfoCommandLineInvoker.(ServerInfoCommandLineInvoker.java:117)
at weblogic.management.commandline.AdminMain.main(AdminMain.java:132)
at weblogic.Admin.useAdminMain(Admin.java:43)
at weblogic.Admin.main(Admin.java:22)
Caused by: java.rmi.ConnectException: Destination unreachable; nested exception is:
java.net.ConnectException: Connection refused; No available router to destination
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:464)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:315)
at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:251)
at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:194)
at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:225)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:188)
... 16 more

The solution is to eliminate that configuration:

Through the GUI you can go to DOMAIN_NAME -> Environment -> Servers -> SERVER_NAME There you'll find a ``Listen Address'' input text. Leave it blank so WLS can listen to localhost otherwise only it will listen to the address entered.

In the config.xml you will see:

<server><name>AdminServer</name>
      <listen-port>7003</listen-port>
      <listen-address>www.devweb.cl</listen-address>
</server>


Restart the WLS and try out again, now it should be able to reach to localhost, doing a WLS Ping and deploying your application.
``If a server's listen address is undefined, clients can reach the server through an IP address of the computer that hosts the server, a DNS name that resolves to the host, or the localhost string. The localhost string can be used only for requests from clients that running on the same computer as the server.''


No comments :

Blog Archive

Disclaimer

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.