[jboss-jira] [JBoss JIRA] Created: (JBCACHE-1044) RuntimeConfig's channel factory should be type ChannelFactory not JChannelFactoryMBean

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Sun May 6 14:31:52 EDT 2007


RuntimeConfig's channel factory should be type ChannelFactory not JChannelFactoryMBean
--------------------------------------------------------------------------------------

                 Key: JBCACHE-1044
                 URL: http://jira.jboss.com/jira/browse/JBCACHE-1044
             Project: JBoss Cache
          Issue Type: Sub-task
      Security Level: Public (Everyone can see)
          Components: Clustering
    Affects Versions: 2.0.0.CR1
            Reporter: Brian Stansberry
         Assigned To: Brian Stansberry
             Fix For: 2.0.0.CR2


The org.jgroups.jmx.JChannelFactoryMBean interface is a management interface that wraps an instance of org.jgroups.ChannelFactory.  JBC 2.0.0 should be pojo-based and not rely on a JMX server for integration.  So, RuntimeConfig.muxChannelFactory should be of type org.jgroups.ChannelFactory.

Implications:

1) If the Configuration is built programatically, the program should inject the ChannelFactory or the Channel. XmlConfigurationParser can't do that and will log a WARN if asked to handle the legacy MultiplexerService attribute.

2) If the Configuration is built via an IOC framework, the framework can build the ChannelFactory pojo, and inject it into both the JChannelFactoryMBean and the RuntimeConfig.

3) If the Configuration is built from a -service.xml via a JBoss AS 4.x ServiceController, CacheLegacyJmxWrapper will add a "MultiplexerService" attribute into which the ObjectName of the factory can be injected.  This is solely to support the legacy "MultiplexerService" attribute from JBC 1.4.1.x.  CacheLegacyJmxWrapper.create() will then invoke an mbean operation on the factory to create the multiplexer channel, and will pass the *Channel* into the RuntimeConfig.  

Thus CacheLegacyJmxWrapper and superclass CacheJmxWrapper remain as the only classes that deal with JMX operations.

#3 above is an obscure use case, since AS 4.x will not work with JBC 2.x if the distributed web session or clustered EJB3 services are running.  It would only apply to people who remove those services and want to run their own cache-based service using JBC 2.x.  Given that, I'm tempted to drop #3 and just no longer support the legacy "MultiplexerService" attribute.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list