{"id":589,"date":"2014-06-20T19:11:15","date_gmt":"2014-06-20T17:11:15","guid":{"rendered":"http:\/\/www.epischel.de\/wordpress\/?p=589"},"modified":"2014-06-20T22:32:16","modified_gmt":"2014-06-20T20:32:16","slug":"accessing-jdbc-data-source-metrics-from-an-application-on-a-weblogic","status":"publish","type":"post","link":"https:\/\/www.epischel.de\/wordpress\/2014\/06\/accessing-jdbc-data-source-metrics-from-an-application-on-a-weblogic\/","title":{"rendered":"Accessing JDBC Data Source metrics from an application on a Weblogic Server"},"content":{"rendered":"<p>I recently felt the need for accessing the metrics \/ statistics of a JDBC Data Source from within an application that is deployed on a Oracle Weblogic Server. I did not succeed right away, so I document it here.<\/p>\n<p>Basically we just need some calls to JMX. Using the Weblogic <code>RuntimeServiceMBean<\/code> we navigate from <code>ServerRuntime<\/code> and <code>JDBCServiceRuntime<\/code> to <code>JDBCDataSourceRuntimeMBeans<\/code>. From there we get <code>ObjectName<\/code>s for each JDBC Data Source that we can access from our application. Using these object names we can retreive the metrics.<\/p>\n<p>First we get the MBeanServer via JNDI:<\/p>\n<div id=\"ig-sh-1\" class=\"syntax_hilite\">\n\n\t\t<div class=\"toolbar\">\n\n\t\t<div class=\"view-different-container\">\n\t\t\t\t\t\t<a href=\"#\" class=\"view-different\">&lt; View <span>plain text<\/span> &gt;<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"language-name\">java<\/div>\n\n\t\t\n\t\t<br clear=\"both\">\n\n\t<\/div>\n\t\n\t<div class=\"code\">\n\t\t<ol class=\"java\" style=\"font-family:monospace\"><li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">MBeanServer getMBeanServer<span style=\"color: #009900\">&#040;<\/span><span style=\"color: #009900\">&#041;<\/span> <span style=\"color: #000000;font-weight: bold\">throws<\/span> <span style=\"color: #003399\">NamingException<\/span> <span style=\"color: #009900\">&#123;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; <span style=\"color: #003399\">InitialContext<\/span> ctx <span style=\"color: #339933\">=<\/span> <span style=\"color: #000000;font-weight: bold\">new<\/span> <span style=\"color: #003399\">InitialContext<\/span><span style=\"color: #009900\">&#040;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; MBeanServer server <span style=\"color: #339933\">=<\/span> <span style=\"color: #009900\">&#040;<\/span>MBeanServer<span style=\"color: #009900\">&#041;<\/span> ctx.<span style=\"color: #006633\">lookup<\/span><span style=\"color: #009900\">&#040;<\/span><span style=\"color: #0000ff\">&quot;java:comp\/env\/jmx\/runtime&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; <span style=\"color: #000000;font-weight: bold\">return<\/span> server<span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\"><span style=\"color: #009900\">&#125;<\/span><\/div><\/li>\n<\/ol>\t<\/div>\n\n<\/div>\n\n<p>Then we navigate as described before:<\/p>\n<div id=\"ig-sh-2\" class=\"syntax_hilite\">\n\n\t\t<div class=\"toolbar\">\n\n\t\t<div class=\"view-different-container\">\n\t\t\t\t\t\t<a href=\"#\" class=\"view-different\">&lt; View <span>plain text<\/span> &gt;<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"language-name\">java<\/div>\n\n\t\t\n\t\t<br clear=\"both\">\n\n\t<\/div>\n\t\n\t<div class=\"code\">\n\t\t<ol class=\"java\" style=\"font-family:monospace\"><li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">ObjectName<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #009900\">&#093;<\/span> getJdbcDataSourceRuntimeMBeans<span style=\"color: #009900\">&#040;<\/span>MBeanServer server<span style=\"color: #009900\">&#041;<\/span> <\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; <span style=\"color: #000000;font-weight: bold\">throws<\/span> MalformedObjectNameException, AttributeNotFoundException, MBeanException,<\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; InstanceNotFoundException, ReflectionException <span style=\"color: #009900\">&#123;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; ObjectName service <span style=\"color: #339933\">=<\/span> <span style=\"color: #000000;font-weight: bold\">new<\/span> ObjectName<span style=\"color: #009900\">&#040;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\"><span style=\"color: #0000ff\">&quot;com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; ObjectName serverRT <span style=\"color: #339933\">=<\/span> <span style=\"color: #009900\">&#040;<\/span>ObjectName<span style=\"color: #009900\">&#041;<\/span> server.<span style=\"color: #006633\">getAttribute<\/span><span style=\"color: #009900\">&#040;<\/span>service, <span style=\"color: #0000ff\">&quot;ServerRuntime&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; ObjectName jdbcRT <span style=\"color: #339933\">=<\/span> <span style=\"color: #009900\">&#040;<\/span>ObjectName<span style=\"color: #009900\">&#041;<\/span> server.<span style=\"color: #006633\">getAttribute<\/span><span style=\"color: #009900\">&#040;<\/span>serverRT, <span style=\"color: #0000ff\">&quot;JDBCServiceRuntime&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; ObjectName<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #009900\">&#093;<\/span> dsRTs <span style=\"color: #339933\">=<\/span> <span style=\"color: #009900\">&#040;<\/span>ObjectName<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #009900\">&#093;<\/span><span style=\"color: #009900\">&#041;<\/span> server.<span style=\"color: #006633\">getAttribute<\/span><span style=\"color: #009900\">&#040;<\/span>jdbcRT, <span style=\"color: #0000ff\">&quot;JDBCDataSourceRuntimeMBeans&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; <span style=\"color: #000000;font-weight: bold\">return<\/span> dsRTs<span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; <span style=\"color: #009900\">&#125;<\/span><\/div><\/li>\n<\/ol>\t<\/div>\n\n<\/div>\n\n<p>To get the current number of active connections and the current capacity of the connection pool, we access the attributes <code>ActiveConnectionsCurrentCount<\/code> and <code>CurrCapacity<\/code>:<\/p>\n<div id=\"ig-sh-3\" class=\"syntax_hilite\">\n\n\t\t<div class=\"toolbar\">\n\n\t\t<div class=\"view-different-container\">\n\t\t\t\t\t\t<a href=\"#\" class=\"view-different\">&lt; View <span>plain text<\/span> &gt;<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"language-name\">java<\/div>\n\n\t\t\n\t\t<br clear=\"both\">\n\n\t<\/div>\n\t\n\t<div class=\"code\">\n\t\t<ol class=\"java\" style=\"font-family:monospace\"><li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">MBeanServer server <span style=\"color: #339933\">=<\/span> getMBeanServer<span style=\"color: #009900\">&#040;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; ObjectName<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #009900\">&#093;<\/span> dsRTs <span style=\"color: #339933\">=<\/span> getJdbcDataSourceRuntimeMBeans<span style=\"color: #009900\">&#040;<\/span>server<span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; <span style=\"color: #000000;font-weight: bold\">for<\/span> <span style=\"color: #009900\">&#040;<\/span>ObjectName dsRT <span style=\"color: #339933\">:<\/span> dsRTs<span style=\"color: #009900\">&#041;<\/span> <span style=\"color: #009900\">&#123;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399\">String<\/span> name <span style=\"color: #339933\">=<\/span> <span style=\"color: #009900\">&#040;<\/span><span style=\"color: #003399\">String<\/span><span style=\"color: #009900\">&#041;<\/span> server.<span style=\"color: #006633\">getAttribute<\/span><span style=\"color: #009900\">&#040;<\/span>dsRT, <span style=\"color: #0000ff\">&quot;Name&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399\">Integer<\/span> activeConnectionsCurrentCount <span style=\"color: #339933\">=<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900\">&#040;<\/span><span style=\"color: #003399\">Integer<\/span><span style=\"color: #009900\">&#041;<\/span> server.<span style=\"color: #006633\">getAttribute<\/span><span style=\"color: #009900\">&#040;<\/span>dsRT, <span style=\"color: #0000ff\">&quot;ActiveConnectionsCurrentCount&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #003399\">Integer<\/span> currCapacity <span style=\"color: #339933\">=<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #009900\">&#040;<\/span><span style=\"color: #003399\">Integer<\/span><span style=\"color: #009900\">&#041;<\/span> server.<span style=\"color: #006633\">getAttribute<\/span><span style=\"color: #009900\">&#040;<\/span>dsRT, <span style=\"color: #0000ff\">&quot;CurrCapacity&quot;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; <span style=\"color: #666666;font-style: italic\">\/\/ do something with these metrics<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; <span style=\"color: #009900\">&#125;<\/span><\/div><\/li>\n<\/ol>\t<\/div>\n\n<\/div>\n\n<p>There are a bunch of metrics. <a href=\"http:\/\/docs.oracle.com\/cd\/E17904_01\/apirefs.1111\/e13952\/pagehelp\/JDBCjdbcdatasourcesjdbcdatasourcemonitorstatisticstitle.html\">Here is a list<\/a>. You can enumerate them using <code>MBeanAttrbuteInfo<\/code>:<\/p>\n<div id=\"ig-sh-4\" class=\"syntax_hilite\">\n\n\t\t<div class=\"toolbar\">\n\n\t\t<div class=\"view-different-container\">\n\t\t\t\t\t\t<a href=\"#\" class=\"view-different\">&lt; View <span>plain text<\/span> &gt;<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"language-name\">java<\/div>\n\n\t\t\n\t\t<br clear=\"both\">\n\n\t<\/div>\n\t\n\t<div class=\"code\">\n\t\t<ol class=\"java\" style=\"font-family:monospace\"><li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\"><span style=\"color: #008000;font-style: italic;font-weight: bold\">\/**<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\"><span style=\"color: #008000;font-style: italic;font-weight: bold\">&nbsp; &nbsp;* Returns MBean-Attribute Infos such as Name, Type and Description<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\"><span style=\"color: #008000;font-style: italic;font-weight: bold\">&nbsp; &nbsp;*\/<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; <span style=\"color: #000000;font-weight: bold\">public<\/span> MBeanAttributeInfo<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #009900\">&#093;<\/span> getMetricsAttributeInfos<span style=\"color: #009900\">&#040;<\/span><span style=\"color: #009900\">&#041;<\/span> <span style=\"color: #009900\">&#123;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; <span style=\"color: #000000;font-weight: bold\">try<\/span> <span style=\"color: #009900\">&#123;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; MBeanServer server <span style=\"color: #339933\">=<\/span> getMBeanServer<span style=\"color: #009900\">&#040;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; ObjectName<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #009900\">&#093;<\/span> dsRTs <span style=\"color: #339933\">=<\/span> getJdbcDataSourceRuntimeMBeans<span style=\"color: #009900\">&#040;<\/span>server<span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; <span style=\"color: #000000;font-weight: bold\">if<\/span> <span style=\"color: #009900\">&#040;<\/span>dsRTs.<span style=\"color: #006633\">length<\/span><span style=\"color: #339933\">&gt;<\/span><span style=\"color: #cc66cc\">0<\/span><span style=\"color: #009900\">&#041;<\/span> <span style=\"color: #009900\">&#123;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; &nbsp; <span style=\"color: #000000;font-weight: bold\">return<\/span> server.<span style=\"color: #006633\">getMBeanInfo<\/span><span style=\"color: #009900\">&#040;<\/span>dsRTs<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #cc66cc\">0<\/span><span style=\"color: #009900\">&#093;<\/span><span style=\"color: #009900\">&#041;<\/span>.<span style=\"color: #006633\">getAttributes<\/span><span style=\"color: #009900\">&#040;<\/span><span style=\"color: #009900\">&#041;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; <span style=\"color: #009900\">&#125;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; <span style=\"color: #009900\">&#125;<\/span> <span style=\"color: #000000;font-weight: bold\">catch<\/span> <span style=\"color: #009900\">&#040;<\/span><span style=\"color: #003399\">Exception<\/span> e<span style=\"color: #009900\">&#041;<\/span> <span style=\"color: #009900\">&#123;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; &nbsp; <span style=\"color: #666666;font-style: italic\">\/\/ your favourite error logging mechanism here...<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; <span style=\"color: #009900\">&#125;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; <span style=\"color: #000000;font-weight: bold\">return<\/span> <span style=\"color: #000000;font-weight: bold\">new<\/span> MBeanAttributeInfo<span style=\"color: #009900\">&#091;<\/span><span style=\"color: #009900\">&#093;<\/span><span style=\"color: #009900\">&#123;<\/span><span style=\"color: #009900\">&#125;<\/span><span style=\"color: #339933\">;<\/span><\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; &nbsp; <\/div><\/li>\n<li style=\"font-weight: normal;vertical-align:top\"><div style=\"font: normal normal 1em\/1.2em monospace;margin:0;padding:0;background:none;vertical-align:top\">&nbsp; <span style=\"color: #009900\">&#125;<\/span><\/div><\/li>\n<\/ol>\t<\/div>\n\n<\/div>\n\n<p>every <code>MBeanAttributeInfo<\/code> contains name, type and description of the attribute.<\/p>\n<p><em>Note: I am using Weblogic Server 11g here. I have not tried this on WLS 12c.<\/em><\/p>\n<div class=\"syndication-links\"><\/div>","protected":false},"excerpt":{"rendered":"<p>I recently felt the need for accessing the metrics \/ statistics of a JDBC Data Source from within an application that is deployed on a Oracle Weblogic Server. I did not succeed right away, so I document it here. Basically we just need some calls to JMX. Using the Weblogic RuntimeServiceMBean we navigate from ServerRuntime&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[3,2],"tags":[120,75,32],"series":[],"class_list":["post-589","post","type-post","status-publish","format-standard","hentry","category-java","category-entwicklung","tag-java","tag-jmx","tag-weblogic","kind-"],"kind":false,"_links":{"self":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts\/589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/comments?post=589"}],"version-history":[{"count":5,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts\/589\/revisions"}],"predecessor-version":[{"id":595,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/posts\/589\/revisions\/595"}],"wp:attachment":[{"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/media?parent=589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/categories?post=589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/tags?post=589"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/www.epischel.de\/wordpress\/wp-json\/wp\/v2\/series?post=589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}