`

面向接口编程随笔

 
阅读更多
// 接口
public interface MessageCallback{
	
	/**
	 * 消息处理成功后的处理
	 */
	void onSuccess(String messageId);
	
	/**
	 * 消息处理失败后的处理
	 */
	void onFail(Exception e, String messageId);
	
}

// 抽象类
public abstract class AbsActiveMQMessageProducer implements MessageCallback{

	public void sendMessage(QMessage message){
		try{
			//TODO 发送消息...
			//消息发送成功后进行处理
			onSuccess(message.getMessageId());
		} catch(Exception e){
			log.error("send message error:{}", e);
			//消息发送失败是进行的处理
			onFail(e, message.getMessageId());
		} finally {
			//TODO 释放连接
		}
	}

}

// 实现类
public class ActiveMQMessageProducer extends AbsActiveMQMessageProducer{
	
	//TODO 省略...
	
	/**
     * 事务消息处理成功后的处理
     * 事务消息处理成功,从消息表中删除对应的消息
     *
     * @param messageId 消息id
     */
    public void onSuccess(String messageId) {
        log.info("tx message--{}--commit success", messageId);
        //事务消息处理成功后,删除数据库中对应的消息
        qMessageService.deleteQMessage(messageId);
    }

    /**
     * 事务消息处理失败后的处理
     * 事务消息处理失败户,进行日志相关记录
     * 或者其他相关数据库操作
     *
     * @param e         消息发送异常
     * @param messageId 消息id
     */
    public void onFail(Exception e, String messageId) {
        log.error("send tx message:{} ,error:{}", messageId, e.getMessage());
    }
	
	//TODO 省略...
}

 

分享到:
评论

相关推荐

    Delphi面向对象学习快速入门资料

    通过阅读这些随笔,学习者能够逐步理解Delphi中的面向对象编程思想,掌握类的设计、对象的使用、多态的应用以及如何利用Delphi进行更复杂的系统设计。结合实践,这将有助于提升Delphi编程能力,为开发高质量的...

    Java完整随笔(学习)

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而闻名。"Java完整随笔(学习)"可能包含了一系列关于Java编程的基础到高级概念的笔记,是学习Java的好资源。以下是一些可能涵盖的重要知识...

    java记录随笔

    Java 记录随笔是关于 Java 软件架构设计的笔记,涵盖了软件架构的基本原则、当前流行的技术、数据库存储结构、Web 界面用户接口层、业务层架构、持久层技术、XML 结构化信息传输和存储的重要性等多个方面。...

    Windows-Core-Programming:Windows核心编程随笔,原始码,电子书

    总的来说,"Windows Core Programming"是一本面向高级程序员和系统开发者的重要资源,它提供了全面的Windows系统级编程知识,帮助读者深入理解Windows操作系统的工作机制,并能够开发出高效、稳定的系统级应用程序。

    设计模式随笔系列

    "鸭子问题"是设计模式中的一个经典例子,通常用来讨论面向对象设计中的多态性和接口概念。 鸭子问题源自于英国计算机科学家贝兹(Gerald J. Sussman)和吉尔伯特·杰克逊(Guy L. Steele Jr.)的一次对话,他们探讨...

    学习欧阳坚Objective_C随笔

    Objective-C是一种面向对象的编程语言,它是在C语言的基础上扩展的,主要应用于Apple的iOS和macOS操作系统。本文将深入探讨Objective-C的关键概念,包括它的语法特性、对象模型以及消息传递机制。 首先,Objective-...

    C#课件 随笔

    C#(读作"C sharp")是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及移动应用。它具有简洁、类型安全、性能高效的特点,广泛应用于游戏开发、企业软件和云计算平台。 1. 类与...

    civil 3d .net二次开发随笔(-)

    ObjectARX .NET 版本提供了更多面向对象的接口,更加灵活且易于使用。 3. **Civil 3D 特有的对象**:了解 Civil 3D 中的特殊对象,如路线、曲面等,并掌握如何通过 .NET 操作这些对象。 4. **VS.NET 平台**:Visual ...

    c#学习笔记.txt

    当接口具有一个或多个显式基接口时,在该接口声明中,接口标识符后跟一个冒号以及由逗号分隔的基接口标识符列表。接口的基接口是显式基接口及其基接口。换言之,基接口集是显式基接口、它们的显式基接口(依此类推)...

    全部的SCA&SDO中文规范

    1. **Service Component Architecture (SCA)**:SCA是一种编程模型,它允许开发者以声明式的方式组装服务,而无需关心底层技术细节。它提供了服务的创建、部署和组合的统一框架。在提供的文件中,"SCA_EJB会话bean...

    Google Android SDK开发范例大全

    2. **Java编程基础**:Android应用主要基于Java语言编写,因此,掌握Java语言的基本语法、面向对象编程概念以及异常处理等是开发Android应用的基础。 3. **Android Studio**:作为官方推荐的集成开发环境,Android ...

    IBM SCA培训资料

    面向服务的架构(Service-Oriented Architecture,简称SOA)是一种设计和构建应用程序的方法,它强调将业务功能作为独立的服务,这些服务可以通过网络进行交互,从而实现松耦合和高可重用性。SOA的核心目标是提高...

    IBM android技术文档——从入门到精通.rar

    2. **《手机上的 Scala.htm》**:Scala是一种强大的、面向对象和函数式的编程语言,可以用于Android开发。这篇文档可能介绍了如何在Android平台上使用Scala,包括它的优势、语法特点以及与Java的互操作性。 3. **...

    smbms管理类项目

    1. **Spring框架**:Spring是核心容器,提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)功能。DI使得对象间的依赖关系不再硬编码,而是通过配置文件或注解来决定,...

Global site tag (gtag.js) - Google Analytics