-
1. Re: Not able to configure mod_cluster with JBoss 6.0.0.M1 on single machine
jfclere May 26, 2010 8:38 AM (in response to bhaswar_goswami)http://www.jboss.org/mod_cluster/quick-start.html
If you don't want to use multicast use proxyList See http://www.jboss.org/mod_cluster/java/properties.html
-
2. Re: Not able to configure mod_cluster with JBoss 6.0.0.M1 on single machine
pferraro May 26, 2010 2:42 PM (in response to bhaswar_goswami)There may be something awry with your bind addresses. Try using the same bind address for both servers, e.g. -b localhost, but using different port sets, e.g.
-Djboss.service.binding.set=ports-default
-Djboss.service.binding.set=ports-01
The logs lines you've attached refer to JBoss messaging - not mod_cluster. mod_cluster only uses multicast in 2 places, both are optional:
1. If advertise is enabled, then your httpd instance will multicast an advertise message to the jboss instances. As Jean-Frederic mentioned, you can use a static proxyList as an non-multicast alternative - or by call the addProxy(...) JMX methods.
2. If your AS nodes are configured to use HAModClusterService, then multicast is used by default for group communication and discovery. As a non-multicast alternative, you can re-configure the HAPartition used by mod_cluster to use a TCP-based jgroups stack; or use ModClusterService instead, which does not require multicast.
-
3. Re: Not able to configure mod_cluster with JBoss 6.0.0.M1 on single machine
bhaswar_goswami May 27, 2010 3:06 AM (in response to pferraro)Thank you Paul and Jean-Frederic for you replies.
I have tried to switch to the ModClusterService in the file : jbossweb.sar\META-INF\jboss-beans.xml
as follows :
<bean name="ModClusterListener" mode="On Demand">
<constructor>
<parameter><inject bean="ModClusterService"/></parameter>
</constructor>
</bean><bean name="ModClusterService" mode="On Demand">
<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX (name="jboss.web:service=ModCluster",exposedInterface=org.jboss.modcluster.ModClusterServiceMBean.class)</annotation>
<constructor>
<parameter><inject bean="ModClusterConfig"/></parameter>
<parameter><inject bean="DynamicLoadBalanceFactorProvider"/></parameter>
</constructor>
</bean>Now, if start the server it complains as folows:
2010-05-27 12:31:56,832 INFO [org.jboss.mx.remoting.service.JMXConnectorServerService] (Thread-2) JMX Connector server: service:jmx:rmi://10.80.5.193/jndi/rmi://10.80.5.193:1190/jmxconnector
2010-05-27 12:31:57,191 INFO [org.jboss.mail.MailService] (Thread-2) Mail Service bound to java:/Mail
2010-05-27 12:31:57,395 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (Thread-2) Error installing to Instantiated: name=ModClusterService state=Described mode=On Demand requiredState=Installed
java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[org.jboss.modcluster.config.ModClusterConfig, org.jboss.modcluster.load.LoadBalanceFactorProviderFactory] actual=[org.jboss.modcluster.config.ha.HAModClusterConfig, org.jboss.modcluster.load.impl.DynamicLoadBalanceFactorProvider]
at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:395)
at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:153)
at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106)
at org.jboss.joinpoint.plugins.BasicConstructorJoinPoint.dispatch(BasicConstructorJoinPoint.java:80)
at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.createTarget(AOPConstructorJoinpoint.java:295)
at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:116)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:243)
at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:111)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72)
at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionInternal(InstantiateAction.java:66)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)I have seen the following discussion on this http://community.jboss.org/thread/34965
So, I have tried switching to the listener class to : MicrocontainerIntegrationLifecycleListener as well and specifiying the type parameter in the
ModClusterService bean defeinition.
But still have the same problem
-
4. Re: Not able to configure mod_cluster with JBoss 6.0.0.M1 on single machine
bhaswar_goswami May 27, 2010 4:41 AM (in response to bhaswar_goswami)sorry for the wrong Log and the correct one is as follows
13:50:56,576 INFO [GroupMember] I am (xx.xx.xx.xx:2111)
13:50:56,576 INFO [GroupMember] New Members : 1 ([xx.xx.xx.xx:2111])
13:50:56,576 INFO [GroupMember] All Members : 1 ([xx.xx.xx.xx:2111])
13:50:56,622 INFO [STDOUT]I expect here the second Server to be registered here when that is up , but that was not happening .
-
5. Re: Not able to configure mod_cluster with JBoss 6.0.0.M1 on single machine
pferraro May 28, 2010 2:33 PM (in response to bhaswar_goswami)You've encountered this bug.
https://jira.jboss.org/browse/MODCLUSTER-116
In general, if you're going to use a mod_cluster release from the 1.1.x series, I recommend you use the latest release (currently 1.1.0.CR2) to avoid running into issues that have already been fixed.
One of the advantages of using 1.1.0.CR2 over the 1.1.0.Beta1 version included with AS 6.0.0.M1, is that most of these configuration gotchas have been simplified.
To use 1.1.0.CR2, with a vanilla JBoss AS 6.0.0.Mx release, all you need to do is replace the existing $JBOSS_HOME/server/<profile>/deploy/mod_cluster.sar with the corresponding sar from the mod_cluster release tarball. And that's it.
No changes to jbossweb's server.xml nor jboss-beans.xml files are necessary.
As of 1.1.0.CR2, the default mod_cluster configuration uses HAModClusterService. Changing this to use ModClusterService instead (which has no dependencies on JBoss clustering), simply swap the name of the bean injected into the ModClusterListener bean as described here:
http://www.jboss.org/mod_cluster/java/config.html
mod_cluster 1.1.0.CR2 is already integrated into AS trunk, and will appear in the upcoming AS 6.0.0.M4 release. As of this release, mod_cluster will work right out of the box - with no configuration changes required. It will be deployed by default in the "all" and "default profiles". The "all" profile will be configured to use HAModClusterService, while the "default" profile configured to use ModClusterService (since "default" does not include JBoss clustering).