For sure you have to make modifications yourself.

The actual service topology is controlled by the 
org.jboss.ha.framework.server.DistributedReplicantManagerImpl, which is a 
sub-component of the HAPartition.

The JGroups view that's passed into HAPartition.viewAccepted() provides the 
list of nodes that have connected to the JGroups channel. But JGroups view != 
service topology, since not all nodes may have a particular service deployed, 
and there are timing differences during startup/shutdown of a server. That is, 
HAPartition connects the channel, so a node appears in the view, and then a 
service that uses HAPartition is deployed on that node, at which time the node 
appears in the service topology.  The DistributedReplicantManagerImpl deals 
with that stuff.

A lot of AS clustering stuff works by getting notifications from 
DistributedReplicantManager when the topology for a service changes. For 
example, the org.jboss.ha.singleton.HASingletonSupport class uses those 
notifications to trigger election of an HASingleton master. The 
org.jboss.ha.framework.server.HATarget class uses the notifications to provide 
the correct topology to server-side interceptors like 
org.jboss.aspects.remoting.ReplicantsManagerInterceptor and to the clustered 
invokers like org.jboss.invocation.unified.server.UnifiedInvokerHA.  Those 
classes advise remote clients when the service topology changes. The proxy 
factories a la org.jboss.proxy.generic.ProxyFactoryHA listen for notifications 
and respond by publishing a new version of the proxy in JNDI, so clients doing 
a lookup get a proxy with the current topology.

So what you're trying to do is to get the topology in the desired order. With 
that many different places receiving notifications, I don't think you want each 
one ordering the topology. Rather it's more logical to have the 
DistributedReplicantManagerImpl order things in the way you want before issuing 
the notifications.

There are no hooks or configuration points to let you plug in how things are 
ordered. You'd have to customize to add that. If you are able to come up with a 
solution that is generally useful, let me know, perhaps we could add it to the 
AS codebase.

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

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267130
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to