[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Can't configure a single, shared JGroups channel

bstansberry@jboss.com do-not-reply at jboss.com
Mon Sep 10 21:30:54 EDT 2007


The way MessagingPostOffice and MultiplexerJChannelFactory work together preclude using a single, multiplexed JGroups channel for both the ControlChannel and the DataChannel, i.e.:


  | <attribute name="ChannelFactoryName">jboss.jgroups:service=MultiplexerChannelFactory</attribute>      
  |       <attribute name="ControlChannelName">udp</attribute>
  |       <attribute name="DataChannelName">udp</attribute>
  |       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
  | 

When MultiplexerJChannelFactory tries to get the channels from JGroups, in both cases it passes the value of "ChannelPartitionName" as the "id" param to createMultiplexerChannel().  This results in the error below.

Being able to use a single channel for all channels in an AS 5 instance is an important goal for the release, as it significantly eases the configuration pain involved in keeping clusters isolated. So, I'd like to see this work.

Here's the error you get:

2007-09-10 18:12:51,627 ERROR [org.jboss.messaging.util.ExceptionUtil] org.jboss.messaging.core.jmx.MessagingPostOfficeService at d2821b startService
  | javax.management.MBeanException
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:184)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:165)
  | 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
  | 	at org.jboss.messaging.core.impl.jchannelfactory.MultiplexerJChannelFactory.createDataChannel(MultiplexerJChannelFactory.java:131)
  | 	at org.jboss.messaging.core.impl.postoffice.GroupMember.start(GroupMember.java:126)
  | 	at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.start(MessagingPostOffice.java:330)
  | 	at org.jboss.messaging.core.jmx.MessagingPostOfficeService.startService(MessagingPostOfficeService.java:413)
  | 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  | 	at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:196)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
  | 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
  | 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:138)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
  | 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:140)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
  | 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
  | 	at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:184)
  | 	at $Proxy4.start(Unknown Source)
  | 	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
  | 	at org.jboss.system.microcontainer.ServiceControllerContextAction.install(ServiceControllerContextAction.java:46)
  | 	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
  | 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
  | 	at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:238)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
  | 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
  | 	at org.jboss.system.ServiceController.doChange(ServiceController.java:659)
  | 	at org.jboss.system.ServiceController.start(ServiceController.java:431)
  | 	at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:146)
  | 	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:107)
  | 	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
  | 	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.deploy(AbstractSimpleRealDeployer.java:65)
  | 	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:728)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:749)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:669)
  | 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
  | 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:495)
  | 	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:354)
  | 	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:245)
  | 	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:131)
  | 	at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:382)
  | 	at org.jboss.Main.boot(Main.java:210)
  | 	at org.jboss.Main$1.run(Main.java:529)
  | 	at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.lang.Exception: service ID "DefaultPartition-JMS" is already registered, cannot register duplicate ID
  | 	at org.jgroups.mux.Multiplexer.createMuxChannel(Multiplexer.java:410)
  | 	at org.jgroups.JChannelFactory.createMultiplexerChannel(JChannelFactory.java:294)
  | 	at org.jboss.ha.framework.server.JChannelFactory.createMultiplexerChannel(JChannelFactory.java:68)
  | 	at org.jgroups.jmx.JChannelFactory.createMultiplexerChannel(JChannelFactory.java:60)
  | 	at AOPContainerProxy$22.createMultiplexerChannel(AOPContainerProxy$22.java)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
  | 	... 60 more

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4082814#4082814

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4082814



More information about the jboss-dev-forums mailing list