失效通知
一、服务端的使用
1.将接口com.sohu.sip.group.GroupBus进行初始化,对应的实现类为com.sohu.sip.group.impl.GroupBusImpl
2.初始化时,调用init()
方法。销毁时,调用destroy()
方法。
3.如果使用spring,则只需要在配置中添加
<bean id="groupBus" class="com.sohu.sip.group.impl.GroupBusImpl"
init-method="init" destroy-method="destroy">
</bean>
4.服务端可以直接调用GroupBus接口的方法,通知组内所有成员。
void flushEntry(String region, String key);
void flushGroup(String region, String key);
5.在classpath下添加配置文件sipgroup-admin.properties
cache.cluster.multicast.ip=230.12.21.132
cache.cluster.bus.name=AdsenderCacheBus
二、客户端的使用
1.需要接受失效通知的实现类,继承接口com.sohu.sip.group.GroupBusListener
public class MyManagerImpl implements MyManager,GroupBusListener{
...
}
2.对接口的两个方法进行实现。即接受到消息时,需要进行的操作。
public void flushEntry(String region, String key) {
if (log.isDebugEnabled()) {
log.debug("flushEntry(region = " + region + ", key = " + key + ")");
}
}
public void flushGroup(String region, String groupKey) {
if (log.isDebugEnabled()) {
log.debug("flushGroup(region = " + region + ", groupKey = "
+ groupKey + ")");
}
}
3.和服务端一样,将接口com.sohu.sip.group.GroupBus进行初始化,对应的实现类为com.sohu.sip.group.impl.GroupBusImpl
4.初始化时,调用init()
方法。销毁时,调用destroy()
方法。
5.添加对应的相应列表listenerMap,
key
为服务端调用时,使用的region
value
为客户端对应的接口,即实现了GroupBusListener的类
因为客户端,可能会有多个继承了GroupBusListener的类,而服务端调用失效通知时,应该客户端只有一个类的实现被调用才是正确的。所以通过listenerMap的对应关系,可以准确的定位到需要调用的实现类。
6.在classpath下添加配置文件sipgroup-client.properties
cache.cluster.multicast.ip=230.12.21.132
cache.cluster.bus.name=AdsenderCacheBus
分享到:
相关推荐
它基于IP多播(也支持TCP),但是有一些特殊功能,例如可靠性和组成员身份。 在这个项目中,我通过使用JGroups作为消息传递工具实现了分布式(复制)堆栈和集合。 这些复制的数据结构将使用状态转移来处理新成员...
**JGroup学习总结** JGroup是一个开源的Java框架,专门用于构建高可用、容错的分布式系统。它提供了一整套服务,包括组成员管理、消息传递、故障检测和恢复等,是许多分布式应用和中间件的基础。这篇博客将深入探讨...
它们包括消息分发器、RPC分发器等。 - **协议栈(The Protocol Stack)**:JGroups使用一个可扩展的协议栈模型来处理消息传递。该协议栈允许开发人员根据需要添加、移除或替换协议层,从而实现对网络行为的精细控制。 ...
EHCAHCE基于JGROUP的集群配置方案,内含相关配置文件,及配置说明
JGroup是Java编程语言中的一款强大且灵活的集群通信库,专为构建高可用性、高性能的分布式系统而设计。它的核心目标是提供可靠的消息传递,确保数据在多个节点之间的一致性和完整性。本实例将深入讲解如何使用JGroup...
《JGroup-3.0.1:构建高效集群通信的核心技术》 JGroup是一个开源的Java框架,专门用于构建高可用、高性能的集群系统。它提供了健壮的组通信服务,包括成员资格管理、消息传递、故障检测以及一致性算法等。在版本...
Reliable group communication with JGroups 3.x Preface This is the JGroups manual. It provides information about: 1. Installation and configuration 2. Using JGroups (the API) 3. Configuration of the ...
根据提供的文档内容,本文将对“jgroup代码”的安装步骤及如何编写一个简单的应用进行详细的阐述与解析。 ### 一、jgroup代码简介 JGroups是一个高性能、可扩展且易于使用的分布式通信库,用于实现集群中的节点...
这时应该将更新操作封装到一个 Runnable 中,并通过 `Display.syncExec()` 方法来执行,而不是直接调用界面更新方法。这样就可以避免线程同步问题。 #### 五、代码示例分析 在给出的部分代码中,可以看到 `IMTest4...
5. **Socket通信**:基于Tcp或Udp,可选择同步或异步调用,序列化和带宽成本需要注意。 6. **特殊的内存分配机制**:最大存储对象1MB,采用预分配空间并按需细分,类似酒窖的比喻,便于回收和再分配。 7. **简单的...
根据提供的信息,《jgroup in action》是一本关于JGroups工具包的书籍,它详细介绍了如何使用JGroups进行可靠的多播通信。JGroups是强大的UUP(User-level UDP)开源组件,已被JBoss采用,用于底层通信。下面我们将...
JGroup 是一个强大的开源库,专门用于构建集群通信系统。它的主要目标是在集群内部实现可靠的消息传递,确保数据的一致性和高可用性。与 Java Message Service (JMS) 不同,JGroup 更专注于消息传递,而不是队列和...
在IT行业中,JBoss、JDBC、JSON和JGroup是四个关键的概念,它们在不同的领域发挥着重要作用。这里,我们将深入探讨这些技术及其在实际应用中的相关知识点。 首先,JBoss是一个开源的应用服务器,它是Java EE(企业...
- **事件通知**:一旦消息被验证和处理,JGROUPS会触发一个事件,通知应用层有新消息到达。 3. 消息接收: 应用层通过监听`Channel`上的事件来接收消息。当消息被处理并准备好交付时,`Channel`会触发一个回调,...
《JGroup配置详解》 JGroup是一个开源的Java框架,专门用于构建可靠的消息传递系统,尤其是在分布式计算环境中。本文将深入解析JGroup的协议栈配置,重点探讨传输协议和可靠消息传递机制。 **4.1 传输协议** 传输...
在软件开发领域,JGroup是一个关键的组件,用于构建可靠的消息传递和组通信系统。JGroup的核心在于其协议栈,它由一系列的协议层组成,这些协议层共同负责消息的发送、接收、可靠传输以及组成员发现。本文将详细解析...
JGroup可以基于TCP协议来实现消息广播,也可以通过UDP方式来广播消息,利弊不言而喻,TCP可靠,但是代价大,性能没有UDP来的好,UDP速度快,代价小,但是消息的丢失率以及无序性有着很大的限制。但是JGroup在UDP方式...
- **Memcached**:不支持数据冗余备份,当存储数据的节点出现故障时,数据会丢失,存在单点失效问题。 - **JBossCache**:虽然支持两种冗余策略——全局复制策略和BuddyReplication策略,但在大数据量情况下全局复制...
本文将深入探讨基于JGROUPS的Ehcache实现的分布式缓存复制,这是一种在Java应用中广泛使用的缓存解决方案。 首先,Ehcache是一个开源的、高性能的Java缓存库,提供本地缓存以及分布式缓存功能。它支持多种缓存策略...