{"id":9897,"date":"2013-03-15T13:00:55","date_gmt":"2013-03-15T11:00:55","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=9897"},"modified":"2013-03-15T01:34:48","modified_gmt":"2013-03-14T23:34:48","slug":"multiple-methods-for-monitoring-and-managing-glassfish-3","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html","title":{"rendered":"Multiple Methods for Monitoring and Managing GlassFish 3"},"content":{"rendered":"<p><a href=\"http:\/\/glassfish.java.net\/downloads\/3.1.1-final.html\">GlassFish 3<\/a> supports multiple methods of monitoring and management. In this post, I look briefly at the approaches <a href=\"http:\/\/glassfish.java.net\/\">GlassFish<\/a> provides for administration, monitoring, and management.<\/p>\n<h2>GlassFish Admin Console<\/h2>\n<p>GlassFish&#8217;s web-based <a href=\"http:\/\/glassfish.java.net\/javaee5\/admin-gui\/admin-gui.html\">Admin Console GUI<\/a> is probably the best-known interface for <a href=\"http:\/\/docs.oracle.com\/cd\/E26576_01\/doc.312\/e24928\/overview.htm\">GlassFish administration<\/a>. By default, it is accessed via the URL <code>http:\/\/localhost:4848\/<\/code> once GlassFish is running. The two screen snapshots below provide a taste of this approach, but I don&#8217;t look any deeper at this option here as this is a fairly easy to understand interface that is fairly easy to learn and use once logged into the website.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish311AdminConsole1.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish311AdminConsole1.png\" width=\"320\" height=\"177\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish311GeneralServerInfo.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish311GeneralServerInfo.png\" width=\"320\" height=\"244\" border=\"0\" \/><\/a><\/p>\n<p><b>GlassFish Admin Command Line Interface<\/b><\/p>\n<p>The GlassFish Admin Console GUI offers advantages of a GUI such as ease of learning and using, but also comes with the drawbacks of a GUI (can take longer to get through the &#8216;overhead&#8217; of using the GUI approach for things that are easily done from the command line and does not work as well in scripts and headless environments). In some cases, a command-line approach is preferred and GlassFish supports command-line administration with the <a href=\"http:\/\/glassfish.java.net\/javaee5\/admin-cli\/admin-cli.html\">GlassFish Admin Command Line Interface<\/a>.<\/p>\n<p>Running <code>asadmin start-domain<\/code> is used to start a Domain in GlassFish. The command <code>asadmin help<\/code> can be used to learn more about the available commands. A very small snippet from the top of this help output is shown next:<\/p>\n<pre class=\" brush:java\">Utility Commands                                      asadmin(1m)\r\n\r\nNAME\r\n     asadmin - utility for performing  administrative  tasks  for\r\n     Oracle GlassFish Server\r\n\r\nSYNOPSIS\r\n     asadmin [--host host]\r\n     [--port port]\r\n     [--user admin-user]\r\n     [--passwordfile filename]\r\n     [--terse={true|false}]\r\n     [--secure={false|true}]\r\n     [--echo={true|false}]\r\n     [--interactive={true|false}]\r\n     [--help]\r\n     [subcommand [options] [operands]]\r\n\r\nDESCRIPTION\r\n     Use the asadmin utility to perform administrative tasks  for\r\n     Oracle GlassFish Server. You can use this utility instead of\r\n     the Administration Console interface.<\/pre>\n<p>As the beginning of the <code>asadmin help<\/code> indicates, the <code>asadmin<\/code> utility is an alternative to the GUI-based &#8216;Administration Console interface.&#8217;<\/p>\n<p>There are <a href=\"http:\/\/docs.oracle.com\/cd\/E18930_01\/html\/821-2416\/gcode.html\">numerous sub-commands<\/a> available and some of those are listed here:<\/p>\n<ul>\n<li><a href=\"http:\/\/docs.oracle.com\/cd\/E19798-01\/821-1750\/giulr\/index.html\">list-applications<\/a> to list deployed applications<\/li>\n<li><code>deploy<\/code> and <a href=\"http:\/\/docs.oracle.com\/cd\/E18930_01\/html\/821-2417\/gihzw.html\">other deployment subcommands<\/a><\/li>\n<li><code>version<\/code> to see version of GlassFish (shown in the screen snapshot below)<\/li>\n<li><a href=\"http:\/\/docs.oracle.com\/cd\/E18930_01\/html\/821-2433\/list-commands-1.html#SJSASEEREFMANlist-commands-1\">list-commands<\/a> (lists available commands) [portion of output shown in the screen snapshot below]<\/li>\n<\/ul>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AsadminVersionAndListCommands.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AsadminVersionAndListCommands.png\" width=\"304\" height=\"320\" border=\"0\" \/><\/a><\/p>\n<p>Additional information regarding the <a href=\"http:\/\/glassfish.java.net\/nonav\/v3\/admin\/planning\/j109\/admin-cli.html\">GlassFish Admin Command Line Interface<\/a> is available in <a href=\"http:\/\/weblogs.java.net\/blog\/kalali\/archive\/2010\/04\/27\/learning-glassfish-v3-command-line-administration-interface-cli\">Learning GlassFish v3 Command Line Administration Interface (CLI)<\/a>.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h2>GlassFish JMX\/AMX<\/h2>\n<p>The two approaches shown in this post so far for monitoring and managing GlassFish (web-based Admin Console GUI and GlassFish Admin Command Line Interface) are specific to GlassFish. GlassFish also supports monitoring and management via <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/tech\/javamanagement-140525.html\">Java Management Extensions<\/a> (<a href=\"http:\/\/marxsoftware.blogspot.com\/search\/label\/JMX\">JMX<\/a>), including <a href=\"http:\/\/jcp.org\/en\/jsr\/detail?id=77\">JSR 77<\/a> (&#8216;<a href=\"http:\/\/glassfish.java.net\/javaee5\/admin-infra\/jsr77\/jsr77_impl.html\">J2EE Management<\/a>&#8216;) as I have blogged about before in my post <a href=\"http:\/\/marxsoftware.blogspot.com\/2008\/05\/simple-remote-jmx-with-glassfish.html\">Simple Remote JMX with GlassFish<\/a>.<\/p>\n<p>Because <a href=\"https:\/\/blogs.oracle.com\/quinn\/entr \/jmx_monitoring_of_glassfish_servers\">GlassFish supports a JMX interface<\/a>, it can be easily monitored and managed with readily available tools such as <a href=\"http:\/\/docs.oracle.com\/cd\/E18930_01\/html\/821-2416\/giwqm.html#scrolltoc\">JConsole<\/a> and <a href=\"http:\/\/weblogs.java.net\/blog\/kalali\/archive\/2009\/03\/monitoring_glas.html\">JVisualVM<\/a>. Besides the MBeans that GlassFish exposes itself, the JVM has built-in MBeans since <a href=\"http:\/\/www.ibm.com\/developerworks\/java\/library\/j-cwt07065\/index.html\">J2SE 5<\/a> that can be monitored in relation to the hosted GlassFish instances as well.<\/p>\n<p>The next set of images demonstrates using JConsole to view MBeans exposed via GlassFish and the JVM. The first image shows the standard JVM Platform MBeans available and the images following that one show GlassFish-specific MBeans including the <code>amx-support<\/code> and <code>jmxremote<\/code> domains. When the <code>bootAMX<\/code> operation of the <code>boot-amx<\/code> MBean (<code>amx-support<\/code> domain) is clicked on that latter MBean, the full complement of AMX MBeans is available as shown in the remainder of the images.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312JVMMBeansInJConsole.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312JVMMBeansInJConsole.png\" width=\"320\" height=\"158\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole.png\" width=\"320\" height=\"215\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole-afterClickedBootAmx.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole-afterClickedBootAmx.png\" width=\"320\" height=\"215\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole-afterClickedBootAmxExpanded.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole-afterClickedBootAmxExpanded.png\" width=\"320\" height=\"215\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole-afterClickedBootAmxExpandedAmxFocus.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassFish312AmxSupportMBeansInJConsole-afterClickedBootAmxExpandedAmxFocus.png\" width=\"320\" height=\"227\" border=\"0\" \/><\/a><\/p>\n<h2>GlassFish REST<\/h2>\n<p>The <a href=\"http:\/\/docs.oracle.com\/cd\/E18930_01\/html\/821-2416\/toc.html\">Oracle GlassFish Server 3.1 Administration Guide<\/a> includes a section called &#8216;<a href=\"http:\/\/docs.oracle.com\/cd\/E18930_01\/html\/821-2416\/gjipx.html#scrolltoc\">Using REST Interfaces to Administer GlassFish Server<\/a>&#8216; that states that the &#8216;GlassFish Server provides <a href=\"http:\/\/www.ics.uci.edu\/~fielding\/pubs\/dissertation\/rest_arch_style.htm\">representational state transfer<\/a> (<a href=\"http:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer\">REST<\/a>) interfaces to enable you to access monitoring and configuration data for GlassFish Server.&#8217; It goes on to suggest that clients applications such as web browsers, <a href=\"http:\/\/curl.haxx.se\/\">cURL<\/a>, and <a href=\"http:\/\/www.gnu.org\/software\/wget\/\">GNU Wget<\/a> can be used to interact with GlassFish via the <a href=\"http:\/\/jersey.java.net\/\">Jersey<\/a>-based REST interfaces. Of course, as this page also points out, any tool written in any language that handles REST-based interfaces can be used in conjunction with GlassFish&#8217;s REST support.<\/p>\n<p>Not surprisingly, the GlassFish REST APIs are exposed via URLs over HTTP. The previously cited Admin Guide states that configuration\/management operations are accessed via URLs of form <code>http:\/\/host:port\/management\/domain\/path<\/code> and monitoring operations are accessed via URLs of form <code>http:\/\/host:port\/monitoring\/domain\/path<\/code>.<\/p>\n<p>One of the easiest ways to use GlassFish&#8217;s REST interfaces is via web browser using the URLs mentioned earlier (<b>http:\/\/localhost:4848\/management\/domain\/<\/b> and <b>http:\/\/localhost:4848\/monitoring\/domain\/<\/b> for example). The next three screen snapshots attempt to give a taste of this style of access. The middle image shows that the monitoring needs to be enabled in GlassFish.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassfishRestManagementWebBrowser.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassfishRestManagementWebBrowser.png\" width=\"320\" height=\"235\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassfishRestMonitoringWebBrowserMonitoringNotEnabled.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassfishRestMonitoringWebBrowserMonitoringNotEnabled.png\" width=\"320\" height=\"102\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassfishRestMonitoringWebBrowserJVM.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/03\/glassfishRestMonitoringWebBrowserJVM.png\" width=\"320\" height=\"136\" border=\"0\" \/><\/a><\/p>\n<p>Using a web browser to interact with GlassFish for management and monitoring is easy, but this can be done with the Web Admin Console I covered at the beginning of this blog post. The real advantage of the REST-based interface is the ability to call it from other client tools, especially custom-built tools and scripts. For example, one can write scripts in Groovy, Python, Ruby, and other scripting languages to interact with GlassFish. Like GlassFish&#8217;s JMX-exposed APIs, GlassFish&#8217;s REST-exposed APIs allow custom scripts and tools to be used or even written to manage and monitor GlassFish. <a href=\"http:\/\/blogs.steeplesoft.com\/author\/admin\/\">Jason Lee<\/a> has posted several posts on using GlassFish&#8217;s REST management\/monitoring APIs such as <a href=\"http:\/\/blogs.steeplesoft.com\/2011\/02\/restful-glassfish-monitoring\/\">RESTful GlassFish Monitoring<\/a>, <a href=\"http:\/\/blogs.steeplesoft.com\/2011\/02\/deploying-applications-to-glassfish-using-curl\/\">Deploying Applications to GlassFish Using curl<\/a>, and <a href=\"http:\/\/blogs.steeplesoft.com\/2010\/08\/glassfish-administration-the-rest-of-the-story\/\">GlassFish Administration: The REST of the Story<\/a>.<\/p>\n<h2>Ant Tasks<\/h2>\n<p>GlassFish provides several Ant tasks that allow Ant to be used for starting and stopping the GlassFish server, for deploying applications, and for performing other management tasks. A <a href=\"http:\/\/stackoverflow.com\/a\/5174892\">StackOverflow Thread<\/a> covers this approach. The next two screen snapshots demonstrate using the GlassFish Web Admin Console&#8217;s Update Tool -&gt; Available Add-Ons feature to select the Ant Tasks for installation and the contents of the <code>ant-tasks.jar<\/code> that is made available upon this selection.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/2.bp.blogspot.com\/-2hz27K7e-bY\/UUAThYq2HYI\/AAAAAAAAEDo\/gC9FHw4QuPc\/s1600\/glassfish312_UpdateTools_AvailableAddOns.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/2.bp.blogspot.com\/-2hz27K7e-bY\/UUAThYq2HYI\/AAAAAAAAEDo\/gC9FHw4QuPc\/s320\/glassfish312_UpdateTools_AvailableAddOns.png\" width=\"320\" height=\"181\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/3.bp.blogspot.com\/-kmywoK14Gq0\/UUAThcRP7sI\/AAAAAAAAEDk\/IiB6DoI-5yw\/s1600\/glassFishAntTasksJarContents.png\"><img decoding=\"async\" class=\"aligncenter\" style=\"border: 0px none;\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/-kmywoK14Gq0\/UUAThcRP7sI\/AAAAAAAAEDk\/IiB6DoI-5yw\/s320\/glassFishAntTasksJarContents.png\" width=\"320\" height=\"194\" border=\"0\" \/><\/a><\/p>\n<p>With the <code>ant-tasks.jar<\/code> JAR available, it can be placed on the Ant build&#8217;s classpath to script certain GlassFish actions via an Ant build.<\/p>\n<h2>Conclusion<\/h2>\n<p>The ability to manage and monitor an application server is one of its highly important features. This post has looked at several of the most common methods GlassFish supports for its management, monitoring, and general administration.<br \/>\n&nbsp;<\/p>\n<p><b><i>Reference: <\/i><\/b><a href=\"http:\/\/marxsoftware.blogspot.com\/2013\/03\/glassfish-monitoring-management.html\">Multiple Methods for Monitoring and Managing GlassFish 3<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/p\/jcg.html\">JCG partner<\/a> Dustin Marx at the <a href=\"http:\/\/marxsoftware.blogspot.com\/\">Inspired by Actual Events <\/a> blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GlassFish 3 supports multiple methods of monitoring and management. In this post, I look briefly at the approaches GlassFish provides for administration, monitoring, and management. GlassFish Admin Console GlassFish&#8217;s web-based Admin Console GUI is probably the best-known interface for GlassFish administration. By default, it is accessed via the URL http:\/\/localhost:4848\/ once GlassFish is running. The &hellip;<\/p>\n","protected":false},"author":122,"featured_media":205,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[309],"class_list":["post-9897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-oracle-glassfish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Multiple Methods for Monitoring and Managing GlassFish 3<\/title>\n<meta name=\"description\" content=\"GlassFish 3 supports multiple methods of monitoring and management. In this post, I look briefly at the approaches GlassFish provides for administration,\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Multiple Methods for Monitoring and Managing GlassFish 3\" \/>\n<meta property=\"og:description\" content=\"GlassFish 3 supports multiple methods of monitoring and management. In this post, I look briefly at the approaches GlassFish provides for administration,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2013-03-15T11:00:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/oracle-glassfish-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dustin Marx\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dustin Marx\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html\"},\"author\":{\"name\":\"Dustin Marx\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/945db7c24d37de80481570a5643f7958\"},\"headline\":\"Multiple Methods for Monitoring and Managing GlassFish 3\",\"datePublished\":\"2013-03-15T11:00:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html\"},\"wordCount\":968,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/oracle-glassfish-logo.jpg\",\"keywords\":[\"Oracle GlassFish\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html\",\"name\":\"Multiple Methods for Monitoring and Managing GlassFish 3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/oracle-glassfish-logo.jpg\",\"datePublished\":\"2013-03-15T11:00:55+00:00\",\"description\":\"GlassFish 3 supports multiple methods of monitoring and management. In this post, I look briefly at the approaches GlassFish provides for administration,\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/oracle-glassfish-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/oracle-glassfish-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Multiple Methods for Monitoring and Managing GlassFish 3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/945db7c24d37de80481570a5643f7958\",\"name\":\"Dustin Marx\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a11cce21db49686299ad9afde297b5213759b39e79a54820195cf16b842639c0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a11cce21db49686299ad9afde297b5213759b39e79a54820195cf16b842639c0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a11cce21db49686299ad9afde297b5213759b39e79a54820195cf16b842639c0?s=96&d=mm&r=g\",\"caption\":\"Dustin Marx\"},\"sameAs\":[\"http:\\\/\\\/marxsoftware.blogspot.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Dustin-Marx\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Multiple Methods for Monitoring and Managing GlassFish 3","description":"GlassFish 3 supports multiple methods of monitoring and management. In this post, I look briefly at the approaches GlassFish provides for administration,","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html","og_locale":"en_US","og_type":"article","og_title":"Multiple Methods for Monitoring and Managing GlassFish 3","og_description":"GlassFish 3 supports multiple methods of monitoring and management. In this post, I look briefly at the approaches GlassFish provides for administration,","og_url":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2013-03-15T11:00:55+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/oracle-glassfish-logo.jpg","type":"image\/jpeg"}],"author":"Dustin Marx","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Dustin Marx","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html"},"author":{"name":"Dustin Marx","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/945db7c24d37de80481570a5643f7958"},"headline":"Multiple Methods for Monitoring and Managing GlassFish 3","datePublished":"2013-03-15T11:00:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html"},"wordCount":968,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/oracle-glassfish-logo.jpg","keywords":["Oracle GlassFish"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html","url":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html","name":"Multiple Methods for Monitoring and Managing GlassFish 3","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/oracle-glassfish-logo.jpg","datePublished":"2013-03-15T11:00:55+00:00","description":"GlassFish 3 supports multiple methods of monitoring and management. In this post, I look briefly at the approaches GlassFish provides for administration,","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/oracle-glassfish-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/oracle-glassfish-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/multiple-methods-for-monitoring-and-managing-glassfish-3.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Multiple Methods for Monitoring and Managing GlassFish 3"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/945db7c24d37de80481570a5643f7958","name":"Dustin Marx","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a11cce21db49686299ad9afde297b5213759b39e79a54820195cf16b842639c0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a11cce21db49686299ad9afde297b5213759b39e79a54820195cf16b842639c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a11cce21db49686299ad9afde297b5213759b39e79a54820195cf16b842639c0?s=96&d=mm&r=g","caption":"Dustin Marx"},"sameAs":["http:\/\/marxsoftware.blogspot.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/Dustin-Marx"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/9897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/122"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=9897"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/9897\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/205"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=9897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=9897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=9897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}