}
private void configureMuxUpHandlerChannel(Cache<?, ?> cache) throws Exception
{
RuntimeConfig rc = cache.getConfiguration().getRuntimeConfig();
Channel channel = rc.getChannel();
if (channel == null)
{
// TODO we could deal with other JBC mechanisms of configuring Channels, but in
// reality the AS use cases that want MuxUpHandler shouldn't configure their
// JBC that way
ChannelFactory cf = rc.getMuxChannelFactory();
if (cf == null)
{
log.debug("Cache " + cache.getConfiguration().getClusterName() +
" does not have a ChannelFactory injected so MuxUpHandler cannot be integrated");
}
String stack = cache.getConfiguration().getMuxStackName();
if (stack == null)
{
log.debug("Cache " + cache.getConfiguration().getClusterName() +
" does not have a MuxStackName configured so MuxUpHandler cannot be integrated");
}
if (cf != null && stack != null)
{
// This doesn't result in JMX reg of channel
//channel = cf.createChannel(stack);
channel = cf.createMultiplexerChannel(stack, cache.getConfiguration().getClusterName());
rc.setChannel(new MuxHandlerChannel((JChannel) channel));
}
}
else if (channel.getUpHandler() == null)
{
// replace
rc.setChannel(new MuxHandlerChannel((JChannel) channel));
}
// else the Channel was injected and already had a handler -- shouldn't happen