README
<p align="center">
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/29ed8bb62ad7731244f6eb838d193fd5?showdoc=.jpg" ></img>
</p>
<p align="center">
<a target="_blank" href="https://search.maven.org/search?q=g:%22com.gitee.nuliing%22%20AND%20a:%22ben-api%22">
<img src="https://img.shields.io/maven-central/v/com.gitee.nuliing/ben-api.svg?label=Maven%20Central" ></img>
</a>
<a target="_blank" href="https://www.apache.org/licenses/LICENSE-2.0.html">
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" ></img>
</a>
<a target="_blank" href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">
<img src="https://img.shields.io/badge/JDK-1.8+-green.svg" ></img>
</a>
<a target="_blank" href="https://www.codacy.com/app/a327919006/cn-ben?utm_source=github.com&utm_medium=referral&utm_content=a327919006/cn-ben&utm_campaign=Badge_Grade">
<img src="https://api.codacy.com/project/badge/Grade/11cbcaba03744805a679f8f47c298dc1"/>
</a>
</p>
<hr />
<h4>介绍</h4>
<p><strong>BEN</strong>(best-effort-notify)是<strong>基于最大努力通知</strong>的分布式事务解决方案。</p>
<h1><a href="https://www.showdoc.cc/cnben" title="中文文档">中文文档</a></h1>
<ul>
<li>中文文档地址:<a href="https://www.showdoc.cc/cnben" title="https://www.showdoc.cc/cnben"><a href="https://www.showdoc.cc/cnben">https://www.showdoc.cc/cnben</a></a></li>
</ul>
<hr />
<h4>Maven模块描述</h4>
<table>
<thead>
<tr>
<th>模块名称</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>ben-api</td>
<td>提供业务系统使用的Ben实体类等</td>
</tr>
<tr>
<td>ben-service-api</td>
<td>基础通知服务接口、系统工具类、实体类封装</td>
</tr>
<tr>
<td>ben-service</td>
<td>通知服务接口实现、通知恢复子系统、通知监控子系统、通知任务处理器</td>
</tr>
<tr>
<td>ben-cms-api</td>
<td>通知管理子系统服务接口、实体类封装</td>
</tr>
<tr>
<td>ben-cms</td>
<td>通知管理子系统,提供通知记录、通知日志的管理后台</td>
</tr>
<tr>
<td>ben-dal</td>
<td>数据库访问层: sql语句</td>
</tr>
</tbody>
</table>
<hr />
<h3>业务系统对接BEN</h3>
<p>详细对接说明请查看《<a href="https://www.showdoc.cc/cnben?page_id=2039690399130400" title="快速入门">快速入门</a>》和《<a href="https://www.showdoc.cc/cnben?page_id=2039691528425578" title="对接示例说明">对接示例说明</a>》</p>
<h4>maven依赖</h4>
<p>在业务系统的pom文件中引入ben-api最新版本依赖:</p>
<pre><code># 中央仓库: https://search.maven.org/search?q=ben-api
<dependency>
<groupId>com.gitee.nuliing</groupId>
<artifactId>ben-api</artifactId>
<version>${最新稳定版本}</version>
</dependency></code></pre>
<h4>发送通知</h4>
<p>步骤:</p>
<ul>
<li>构造通知参数<strong>BenNotify</strong></li>
<li>往消息队列发送通知对象(队列名:<strong>notify.queue</strong>,已定义为静态变量<strong>BenNotify.QUEUE</strong>)</li>
</ul>
<h4>更多分布式事务框架</h4>
<table>
<thead>
<tr>
<th>框架</th>
<th>描述</th>
<th>状态</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://gitee.com/NuLiing/reliable-message" title="cn-rmq">cn-rmq</a></td>
<td>基于可靠消息的最终一致性方案</td>
<td>已发布</td>
</tr>
<tr>
<td><a href="https://gitee.com/NuLiing/cn-ben" title="cn-ben">cn-ben</a></td>
<td>最大努力通知方案</td>
<td>已发布</td>
</tr>
</tbody>
</table>