Error al consumir Web Service, Netbeans y Glassfish: «Cannot start JMX connector»

por | mayo 31, 2013

Al tratar de correr un pequeño ejemplo web service con REST para refrescar los conocimientos, me topé con el problema de que no podía conectar para consumir el servicio, usando Netbeans y Glasfish el server.log decía lo siguiente:

[text]
[#|2013-05-30T11:58:16.486-0500|WARNING|glassfish3.1.2|javax.enterprise.
system.jmx.org.glassfish.admin.mbeanserver|_ThreadID=18;
_ThreadName=Thread-2;|JMX007: Cannot start JMX connector
JmxConnector config: { name = system, Protocol = rmi_jrmp,
Address = 0.0.0.0, Port = 8686, AcceptAll = false,
AuthRealmName = admin-realm,

[/text]

Claramente se puede ver que el Conector JMX no puede iniciarse por que la direccion a la que está echo binding (Address = 0.0.0.0) no responde a la petición.

Para solucionar el problema hice lo siguiente:

Ingresar al Administrador de Consola, ir a:
Configuraciones > server-config > Servicio de Administracion(AdminService)

En la página Editar Conector JMX(Edit JMX Connector) cambiar:

Dirección: 0.0.0.0

por:

Dirección: 127.0.0.1

Guardar los cambios y reiniciar el servidor.

Ahora para visularizar el consumo del servicio ir a:

http://localhost:8080/Context Path/webresources/path

Donde:

Context Path: Definido en el glassfish-web.xml

[xml]<context-root>/Context Path</context-root>[/xml]

path: Definido en clase de recurso JAX-RS

[java]
@Path("path")
public class WSResource {
}

[/java]

El asistente también me creó esta clase que completa URI del web service:

[java]
@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application {

}
[/java]

Espero sea de utilidad. Hasta Ponto

Fuente: http://gtpdev.com/devnotes/?p=90