You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by "Paul Lindner (JIRA)" <ji...@apache.org> on 2008/09/04 20:15:44 UTC
[jira] Created: (SHINDIG-569) Enable JMX Bindings for Guice
Enable JMX Bindings for Guice
-----------------------------
Key: SHINDIG-569
URL: https://issues.apache.org/jira/browse/SHINDIG-569
Project: Shindig
Issue Type: New Feature
Reporter: Paul Lindner
I found that the JMX bindings for Guice really helped me track down problems getting my modules injected properly.
Here's a quick patch that enables this:
--- java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java (revision 691884)
+++ java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java (working copy)
@@ -18,8 +18,10 @@
*/
package org.apache.shindig.common.servlet;
+import com.google.inject.Injector;
import com.google.inject.Guice;
import com.google.inject.Module;
+import com.google.inject.tools.jmx.Manager;
import java.util.LinkedList;
import java.util.List;
@@ -35,6 +37,7 @@
public class GuiceServletContextListener implements ServletContextListener {
public static final String INJECTOR_ATTRIBUTE = "guice-injector";
public static final String MODULES_ATTRIBUTE = "guice-modules";
+ private boolean jmxInitialized = false;
public void contextInitialized(ServletContextEvent event) {
ServletContext context = event.getServletContext();
@@ -53,7 +56,17 @@
}
}
}
- context.setAttribute(INJECTOR_ATTRIBUTE, Guice.createInjector(modules));
+ Injector injector = Guice.createInjector(modules);
+ context.setAttribute(INJECTOR_ATTRIBUTE, injector);
+
+ try {
+ if (jmxInitialized == false) {
+ Manager.manage("ShindigGuiceContext", injector);
+ jmxInitialized = true;
+ }
+ } catch (Exception e) {
+ // Ignore errors
+ }
}
public void contextDestroyed(ServletContextEvent event) {
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SHINDIG-569) Enable JMX Bindings for Guice
Posted by "Paul Lindner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SHINDIG-569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Lindner resolved SHINDIG-569.
----------------------------------
Resolution: Fixed
fixed
> Enable JMX Bindings for Guice
> -----------------------------
>
> Key: SHINDIG-569
> URL: https://issues.apache.org/jira/browse/SHINDIG-569
> Project: Shindig
> Issue Type: New Feature
> Reporter: Paul Lindner
>
> I found that the JMX bindings for Guice really helped me track down problems getting my modules injected properly.
> Here's a quick patch that enables this:
> --- java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java (revision 691884)
> +++ java/common/src/main/java/org/apache/shindig/common/servlet/GuiceServletContextListener.java (working copy)
> @@ -18,8 +18,10 @@
> */
> package org.apache.shindig.common.servlet;
>
> +import com.google.inject.Injector;
> import com.google.inject.Guice;
> import com.google.inject.Module;
> +import com.google.inject.tools.jmx.Manager;
>
> import java.util.LinkedList;
> import java.util.List;
> @@ -35,6 +37,7 @@
> public class GuiceServletContextListener implements ServletContextListener {
> public static final String INJECTOR_ATTRIBUTE = "guice-injector";
> public static final String MODULES_ATTRIBUTE = "guice-modules";
> + private boolean jmxInitialized = false;
>
> public void contextInitialized(ServletContextEvent event) {
> ServletContext context = event.getServletContext();
> @@ -53,7 +56,17 @@
> }
> }
> }
> - context.setAttribute(INJECTOR_ATTRIBUTE, Guice.createInjector(modules));
> + Injector injector = Guice.createInjector(modules);
> + context.setAttribute(INJECTOR_ATTRIBUTE, injector);
> +
> + try {
> + if (jmxInitialized == false) {
> + Manager.manage("ShindigGuiceContext", injector);
> + jmxInitialized = true;
> + }
> + } catch (Exception e) {
> + // Ignore errors
> + }
> }
>
> public void contextDestroyed(ServletContextEvent event) {
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.