/** * Whether the given name needs an alias<p> * * By default we just add aliases for JMX like ObjectNames to have a canonical name alias * * @param original the original name * @return the alias if required or null if no alias required */ protected Object needsAnAlias(Object original) { return JMXObjectNameFix.needsAnAlias(original); }
/** * Set what I depend upon * * @param iDependOn what I depend upon */ protected void setIDependOn(Object iDependOn) { this.iDependOn = iDependOn; // only check if not null if (iDependOn != null) { // HACK: Try to fixup JMX like ObjectNames to their canonical name Object fixup = JMXObjectNameFix.needsAnAlias(iDependOn); if (fixup != null) this.iDependOn = fixup; } flushJBossObjectCache(); }
public void setValue(Object value) { Object jmxHack = null; if (isUseJMXObjectNameFix()) jmxHack = JMXObjectNameFix.needsAnAlias(value); if (jmxHack != null) this.value = jmxHack; else this.value = value; flushJBossObjectCache(); }
/** * Get the demand or matcher if set. * * @return more exact demand object */ protected Object getDemandObject() { if (demandObject == null) { if (matcher == null) { Object fixup = JMXObjectNameFix.needsAnAlias(getDemand()); demandObject = (fixup != null) ? fixup : getDemand(); } else { demandObject = matcher; } } return demandObject; }
protected void installAction(AliasControllerContext context) throws Throwable { Object alias = context.getAlias(); Object jmxAlias = JMXObjectNameFix.needsAnAlias(alias); if (jmxAlias != null) alias = jmxAlias; Object original = context.getOriginal(); Object jmxOriginal = JMXObjectNameFix.needsAnAlias(original); if (jmxOriginal != null) original = jmxOriginal; // get the context's controller - not the one we registered with AbstractController controller = (AbstractController)context.getController(); lockWrite(); try { ControllerContext lookup = controller.getRegisteredControllerContext(original, true); controller.registerControllerContext(alias, lookup); if (log.isTraceEnabled()) log.trace("Added alias " + alias + " for context " + context); } finally { unlockWrite(); } }
protected void uninstallAction(AliasControllerContext context) { lockWrite(); try { Object alias = context.getAlias(); Object jmxAlias = JMXObjectNameFix.needsAnAlias(alias); if (jmxAlias != null) alias = jmxAlias; // get the context's controller - not the one we registered with AbstractController controller = (AbstractController)context.getController(); controller.unregisterControllerContext(alias); if (log.isTraceEnabled()) log.trace("Removed alias " + alias); } finally { unlockWrite(); } } }