Class JmxRestService
- java.lang.Object
-
- org.objectweb.joram.tools.rest.jmx.JmxRestService
-
- All Implemented Interfaces:
jakarta.ws.rs.container.ContainerRequestFilter
@Path("/") @Singleton public final class JmxRestService extends Object implements jakarta.ws.rs.container.ContainerRequestFilter
-
-
Field Summary
Fields Modifier and Type Field Description static StringATTRIBUTE_NAMEprivate static StringAUTHENTICATION_SCHEMEprivate static StringAUTHORIZATION_PROPERTYprivate static booleanDEBUGstatic StringDOMAINSprivate JmxHelperhelperstatic StringHTML_PATHprivate jakarta.servlet.http.HttpServletRequesthttpServletRequestprivate static Loggerlogger(package private) static MBeanServermbsstatic StringOBJECT_NAME
-
Constructor Summary
Constructors Constructor Description JmxRestService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private HashMap<String,HashMap<String,ArrayList<ObjectName>>>beanToTree()private voidcloseAttribute(StringBuilder buff)private voidcloseDomain(StringBuilder buff)private voidcloseType(StringBuilder buff)voidfilter(jakarta.ws.rs.container.ContainerRequestContext requestContext)StringgetAllMBeanInfoJson(jakarta.ws.rs.core.UriInfo uriInfo)StringgetAttribute(String domain, String objectName, String attribute, jakarta.ws.rs.core.UriInfo uriInfo)private StringgetAttribute(ObjectName objectName, String attributeName)StringgetDomain(String domain, jakarta.ws.rs.core.UriInfo uriInfo)jakarta.ws.rs.core.ResponsegetDomainJson(String domain, jakarta.ws.rs.core.UriInfo uriInfo)StringgetDomains(jakarta.ws.rs.core.UriInfo uriInfo)jakarta.ws.rs.core.ResponsegetDomainsJson(jakarta.ws.rs.core.UriInfo uriInfo)StringgetMBeanInfo(jakarta.ws.rs.core.UriInfo uriInfo)StringgetObjectName(String domain, String objName, jakarta.ws.rs.core.UriInfo uriInfo)jakarta.ws.rs.core.ResponsegetObjectNameJson(String domain, String objName, jakarta.ws.rs.core.UriInfo uriInfo)Stringinfo(jakarta.ws.rs.core.UriInfo uriInfo)private voidopenAttribute(StringBuilder buff, jakarta.ws.rs.core.UriInfo uriInfo, ObjectName objectName, int i)private voidopenDomain(StringBuilder buff, String domain, int i)private voidopenType(StringBuilder buff, String type, int i)
-
-
-
Field Detail
-
logger
private static final Logger logger
-
DEBUG
private static final boolean DEBUG
-
AUTHORIZATION_PROPERTY
private static final String AUTHORIZATION_PROPERTY
- See Also:
- Constant Field Values
-
AUTHENTICATION_SCHEME
private static final String AUTHENTICATION_SCHEME
- See Also:
- Constant Field Values
-
mbs
static MBeanServer mbs
-
helper
private final JmxHelper helper
-
HTML_PATH
public static final String HTML_PATH
- See Also:
- Constant Field Values
-
DOMAINS
public static final String DOMAINS
- See Also:
- Constant Field Values
-
OBJECT_NAME
public static final String OBJECT_NAME
- See Also:
- Constant Field Values
-
ATTRIBUTE_NAME
public static final String ATTRIBUTE_NAME
- See Also:
- Constant Field Values
-
httpServletRequest
@Context private jakarta.servlet.http.HttpServletRequest httpServletRequest
-
-
Method Detail
-
info
@GET @Path("/help") @Produces("text/html") public String info(@Context jakarta.ws.rs.core.UriInfo uriInfo)
-
getDomains
@GET @Path("/domains") @Produces("text/html") public String getDomains(@Context jakarta.ws.rs.core.UriInfo uriInfo)
-
getDomainsJson
@GET @Path("/domains") @Produces("application/json") public jakarta.ws.rs.core.Response getDomainsJson(@Context jakarta.ws.rs.core.UriInfo uriInfo) throws Exception- Throws:
Exception
-
getDomain
@GET @Path("/domains/{domain}") @Produces("text/html") public String getDomain(@PathParam("domain") String domain, @Context jakarta.ws.rs.core.UriInfo uriInfo) throws MalformedObjectNameException, NullPointerException
-
getDomainJson
@GET @Path("/domains/{domain}") @Produces("application/json") public jakarta.ws.rs.core.Response getDomainJson(@PathParam("domain") String domain, @Context jakarta.ws.rs.core.UriInfo uriInfo) throws Exception- Throws:
Exception
-
getObjectName
@GET @Path("/domains/{domain}/{objectName}") @Produces("text/html") public String getObjectName(@PathParam("domain") String domain, @PathParam("objectName") String objName, @Context jakarta.ws.rs.core.UriInfo uriInfo)
-
getObjectNameJson
@GET @Path("/domains/{domain}/{objectName}") @Produces("application/json") public jakarta.ws.rs.core.Response getObjectNameJson(@PathParam("domain") String domain, @PathParam("objectName") String objName, @Context jakarta.ws.rs.core.UriInfo uriInfo) throws Exception- Throws:
Exception
-
getAttribute
@GET @Path("/domains/{domain}/{objectName}/{attribute}") @Produces("text/plain") public String getAttribute(@PathParam("domain") String domain, @PathParam("objectName") String objectName, @PathParam("attribute") String attribute, @Context jakarta.ws.rs.core.UriInfo uriInfo) throws Exception- Throws:
Exception
-
getMBeanInfo
@GET @Produces("text/html") public String getMBeanInfo(@Context jakarta.ws.rs.core.UriInfo uriInfo)
-
openDomain
private void openDomain(StringBuilder buff, String domain, int i)
-
closeDomain
private void closeDomain(StringBuilder buff)
-
openType
private void openType(StringBuilder buff, String type, int i)
-
closeType
private void closeType(StringBuilder buff)
-
openAttribute
private void openAttribute(StringBuilder buff, jakarta.ws.rs.core.UriInfo uriInfo, ObjectName objectName, int i) throws Exception
- Throws:
Exception
-
closeAttribute
private void closeAttribute(StringBuilder buff)
-
getAllMBeanInfoJson
@GET @Produces("application/json") public String getAllMBeanInfoJson(@Context jakarta.ws.rs.core.UriInfo uriInfo) throws Exception- Throws:
Exception
-
getAttribute
private String getAttribute(ObjectName objectName, String attributeName) throws AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException
-
filter
public void filter(jakarta.ws.rs.container.ContainerRequestContext requestContext) throws IOException- Specified by:
filterin interfacejakarta.ws.rs.container.ContainerRequestFilter- Throws:
IOException
-
-