[jboss-user] [Clustering/JBoss] - Re: Controlling cluster services
krithi
do-not-reply at jboss.com
Fri Oct 26 01:40:03 EDT 2007
Please give me an opportunity to redefine my questions more clearly
My question is
1. Is it not true that, the singleton service (MyClusterService) will be started in the current master node only?
2. Do I need to use if ( isMasterNode() ) check, to avoid the starting the Singleton service in the current slave node? (My worry is, Is this the right way to control the service)
3. Is there any configuration available to control my singleton services from getting started only in the current master node
Am I missing any of them
MyClusterService.java
| public class MyClusterService extends HAServiceMBeanSupport {
| private boolean isMasterNode = false;
| protected void startService() throws Exception {
| if (isMasterNode()) {
| log.info("MyClusterService Started Successfully");
| //Send JMS messages to indicate Service Started
| }else {
| log.info("MyClusterService - Waiting to acquire Master Status");
| }
| }
| protected void stopService() {
| log.info("Stopping MyClusterService - If Slave is waiting it will become master ");
| }
| public boolean isMasterNode() {
| return isMasterNode;
| }
| public void startSingleton() {
| isMasterNode = true;
| if (isMasterNode) {
| startService();
| }
| }
| public void stopSingleton() {
| stopService();
| isMasterNode=false;
| }
| }
|
jboss-service.xml
| <mbean code="org.jboss.ha.singleton.HASingletonController"
| name="my.com:service=MyService-HASingletonController">
|
| <depends>jboss:service=${jboss.partition.name:DefaultPartition}</depends>
| <depends>my.com:service=MyClusterService</depends>
| <attribute
| name="PartitionName">${jboss.partition.name:DefaultPartition}</attribute>
| <attribute
| name="TargetName">my.com:service=MyClusterService</attribute>
| <attribute name="TargetStartMethod">startSingleton</attribute>
| <attribute name="TargetStopMethod">stopSingleton</attribute>
| <!-- <attribute name="TargetStopMethodArgument">true</attribute> -->
| </mbean>
| <mbean code="com.my.cluster.MyClusterService"
| name="my.com:service=MyClusterService">
| <depends>my.com:service=OtherServices</depends>
| </mbean>
|
Thanks
Krithi
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099118#4099118
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099118
More information about the jboss-user
mailing list