All Projects → serdardemir → Easybus

serdardemir / Easybus

Licence: mit
Easy integration with multiple messaging frameworks including RabbitMQ, Oracle AQ, ActiveMQ

Projects that are alternatives of or similar to Easybus

Servicebus
Simple service bus for sending events between processes using amqp.
Stars: ✭ 415 (+5087.5%)
Mutual labels:  service-bus, rabbitmq
Springboot Labs
一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024
Stars: ✭ 12,804 (+159950%)
Mutual labels:  rabbitmq, activemq
Delphistompclient
STOMP client for Embarcadero Delphi and FreePascal.
Stars: ✭ 93 (+1062.5%)
Mutual labels:  rabbitmq, activemq
Dubbo2.5 Spring4 Mybastis3.2 Springmvc4 Mongodb Redis
dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis整合
Stars: ✭ 123 (+1437.5%)
Mutual labels:  rabbitmq, activemq
distmq
Distributed Message Queue based on Raft
Stars: ✭ 32 (+300%)
Mutual labels:  rabbitmq, activemq
Shuttle.esb
A highly extensible service bus implementation.
Stars: ✭ 71 (+787.5%)
Mutual labels:  service-bus, rabbitmq
Myth
Reliable messages resolve distributed transactions
Stars: ✭ 1,470 (+18275%)
Mutual labels:  rabbitmq, activemq
Springboot Learning
基于Gradle构建,使用SpringBoot在各个场景的应用,包括集成消息中间件、前后端分离、数据库、缓存、分布式锁、分布式事务等
Stars: ✭ 340 (+4150%)
Mutual labels:  rabbitmq, activemq
Jboot
一个优雅的微服务框架,SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,有超过1000家公司在使用Jboot做极速开发...
Stars: ✭ 655 (+8087.5%)
Mutual labels:  rabbitmq, activemq
Simplemall
基于SpringCloud的微服务架构实战案例项目,以一个简单的购物流程为示例,融合spring cloud 相关组件,如spring-cloud-netflix、swagger等
Stars: ✭ 687 (+8487.5%)
Mutual labels:  rabbitmq
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (+9725%)
Mutual labels:  rabbitmq
Rawrabbit
A modern .NET framework for communication over RabbitMq
Stars: ✭ 682 (+8425%)
Mutual labels:  rabbitmq
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+335050%)
Mutual labels:  rabbitmq
Titanoboa
Titanoboa makes complex workflows easy. It is a low-code workflow orchestration platform for JVM - distributed, highly scalable and fault tolerant.
Stars: ✭ 787 (+9737.5%)
Mutual labels:  service-bus
Activemq Artemis
Mirror of Apache ActiveMQ Artemis
Stars: ✭ 685 (+8462.5%)
Mutual labels:  activemq
Hzdtf.foundation.framework
基础框架系统,支持.NET和.NET Core平台,语言:C#,DB支持MySql和SqlServer,主要功能有抽象持久化、服务层,将业务基本的增删改查抽离复用;提供代码生成器从DB生成实体、持久化、服务以及MVC控制器,每层依赖接口,并需要在客户端将对应实现层用Autofac程序集依赖注入,用AOP提供日志跟踪、事务、模型验证等。对Autofac、Redis、RabbitMQ封装扩展;DB访问提供自动主从访问,Redis客户端分区。特别适合管理系统。
Stars: ✭ 22 (+175%)
Mutual labels:  rabbitmq
Pmacct
pmacct is a small set of multi-purpose passive network monitoring tools [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry].
Stars: ✭ 677 (+8362.5%)
Mutual labels:  rabbitmq
Postgrest Starter Kit
Starter Kit and tooling for authoring REST API backends with PostgREST
Stars: ✭ 657 (+8112.5%)
Mutual labels:  rabbitmq
Spring Boot Rabbitmq
Spring Boot集成rabbitMQ实现消息推送
Stars: ✭ 24 (+200%)
Mutual labels:  rabbitmq
Activemq
Development repository for activemq Chef Cookbook
Stars: ✭ 19 (+137.5%)
Mutual labels:  activemq

EasyBus

Lightweight Message Bus for .Net Easy integration with multiple messaging frameworks including RabbitMQ, ActiveMQ ,maybe MSMQ

Build status

EasyBus Logo

Easy to install

EasyBus.RabbitMQIntegration is on NuGet. To install it, run the following command in the Package Manager Console

Install-Package EasyBus.RabbitMQIntegration

Initialize IocBootstrapper

Container container = new Container();

//auto search all message handlers and register
container.RegisterSingle<ISubscriber>(new Subscriber(container));

var assembly = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.FullName.Contains("EasyBus.Consumer")).FirstOrDefault();

var handlers = assembly.GetExportedTypes().Where(x => x.IsMessageHandler(typeof(MessageHandler<>))).ToList();

var responders = assembly.GetExportedTypes().Where(x => x.IsMessageHandler(typeof(MessageResponder<,>))).ToList();

container.RegisterAll<IMessageHandler>(handlers);
container.RegisterAll<IResponse>(responders);
container.RegisterSingle<IPublisher>(new Publisher(container));
container.RegisterSingle(new MessageEmitter(container));
container.RegisterSingle(new RabbitMQIntegrationModule(container));

How to use?

Naming Convention for error strategy ......

<!--Number of multi-thread subscriber-->
<add key="MaxThreads" value="10" />

Pub / Sub Sample

// Find subsriber. (RabbitMQ, ActiveMQ etc.)
var subscriber = container.GetInstance<ISubscriber>();

// Find all message handlers in running process
var messageHandlers = container.GetAllInstances<IMessageHandler>();

console.WriteLine(messageHandlers.Count() + " subscriber found.", ConsoleColor.Green);

//Start to subscribe (async) for all message handlers
foreach (var item in messageHandlers)
{                    
		subscriber.Subscribe(item);
	
}


EasyBus Consumer

Specify how the policy should handle consumer faults

<add key="RetryInterval" value="1" />
<add key="RetryCount" value="3" />
 
Policy.Execute<OperationResult>(() =>
{
	
}, message);

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].