From 1b55af2a1e19c592568d638654e3d61471ced569 Mon Sep 17 00:00:00 2001 From: slievrly Date: Fri, 17 May 2024 00:01:32 +0800 Subject: [PATCH] optimize: optimize spring-seata sample --- .../org/apache/seata/config/DataSourceConfiguration.java | 2 +- .../java/org/apache/seata/config/SeataConfiguration.java | 2 +- .../service/{StorageService.java => StockService.java} | 2 +- .../org/apache/seata/service/impl/BusinessServiceImpl.java | 6 +++--- .../org/apache/seata/service/impl/OrderServiceImpl.java | 2 +- .../impl/{StorageServiceImpl.java => StockServiceImpl.java} | 6 +++--- at-sample/spring-seata/src/main/resources/all.sql | 5 ++++- 7 files changed, 14 insertions(+), 11 deletions(-) rename at-sample/spring-seata/src/main/java/org/apache/seata/service/{StorageService.java => StockService.java} (96%) rename at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/{StorageServiceImpl.java => StockServiceImpl.java} (92%) diff --git a/at-sample/spring-seata/src/main/java/org/apache/seata/config/DataSourceConfiguration.java b/at-sample/spring-seata/src/main/java/org/apache/seata/config/DataSourceConfiguration.java index 7d6687c4c..abf7f46f3 100644 --- a/at-sample/spring-seata/src/main/java/org/apache/seata/config/DataSourceConfiguration.java +++ b/at-sample/spring-seata/src/main/java/org/apache/seata/config/DataSourceConfiguration.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.seata.provider.config; +package org.apache.seata.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; diff --git a/at-sample/spring-seata/src/main/java/org/apache/seata/config/SeataConfiguration.java b/at-sample/spring-seata/src/main/java/org/apache/seata/config/SeataConfiguration.java index 029f876ae..c5af9c6d4 100644 --- a/at-sample/spring-seata/src/main/java/org/apache/seata/config/SeataConfiguration.java +++ b/at-sample/spring-seata/src/main/java/org/apache/seata/config/SeataConfiguration.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.seata.provider.config; +package org.apache.seata.config; import io.seata.spring.annotation.GlobalTransactionScanner; import org.springframework.beans.factory.annotation.Value; diff --git a/at-sample/spring-seata/src/main/java/org/apache/seata/service/StorageService.java b/at-sample/spring-seata/src/main/java/org/apache/seata/service/StockService.java similarity index 96% rename from at-sample/spring-seata/src/main/java/org/apache/seata/service/StorageService.java rename to at-sample/spring-seata/src/main/java/org/apache/seata/service/StockService.java index 0f68fad94..bf4d65410 100644 --- a/at-sample/spring-seata/src/main/java/org/apache/seata/service/StorageService.java +++ b/at-sample/spring-seata/src/main/java/org/apache/seata/service/StockService.java @@ -19,7 +19,7 @@ /** * The interface Stock service. */ -public interface StorageService { +public interface StockService { /** * 扣减库存 diff --git a/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/BusinessServiceImpl.java b/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/BusinessServiceImpl.java index a18e5aa88..2a63949bb 100644 --- a/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/BusinessServiceImpl.java +++ b/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/BusinessServiceImpl.java @@ -21,7 +21,7 @@ import org.apache.seata.service.BusinessService; import org.apache.seata.service.OrderService; -import org.apache.seata.service.StorageService; +import org.apache.seata.service.StockService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,7 +41,7 @@ public class BusinessServiceImpl implements BusinessService { private static final Logger LOGGER = LoggerFactory.getLogger(BusinessService.class); @Resource - private StorageService storageService; + private StockService stockService; @Resource private OrderService orderService; private final Random random = new Random(); @@ -50,7 +50,7 @@ public class BusinessServiceImpl implements BusinessService { @GlobalTransactional(timeoutMills = 300000, name = "spring-seata-tx") public void purchase(String userId, String commodityCode, int orderCount) { LOGGER.info("purchase begin ... xid: " + RootContext.getXID()); - storageService.deduct(commodityCode, orderCount); + stockService.deduct(commodityCode, orderCount); orderService.create(userId, commodityCode, orderCount); if (random.nextBoolean()) { throw new RuntimeException("random exception mock!"); diff --git a/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/OrderServiceImpl.java b/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/OrderServiceImpl.java index 7aede43d7..80e1b8980 100644 --- a/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/OrderServiceImpl.java +++ b/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/OrderServiceImpl.java @@ -78,7 +78,7 @@ public void create(String userId, String commodityCode, int orderCount) { } private int calculate(String commodityId, int orderCount) { - return 200 * orderCount; + return 100 * orderCount; } } diff --git a/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/StorageServiceImpl.java b/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/StockServiceImpl.java similarity index 92% rename from at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/StorageServiceImpl.java rename to at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/StockServiceImpl.java index 8ee0cc42d..0ca6406f8 100644 --- a/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/StorageServiceImpl.java +++ b/at-sample/spring-seata/src/main/java/org/apache/seata/service/impl/StockServiceImpl.java @@ -16,7 +16,7 @@ package org.apache.seata.service.impl; import io.seata.core.context.RootContext; -import org.apache.seata.service.StorageService; +import org.apache.seata.service.StockService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.jdbc.core.JdbcTemplate; @@ -30,9 +30,9 @@ * @author jimin.jm @alibaba-inc.com */ @Service -public class StorageServiceImpl implements StorageService { +public class StockServiceImpl implements StockService { - private static final Logger LOGGER = LoggerFactory.getLogger(StorageService.class); + private static final Logger LOGGER = LoggerFactory.getLogger(StockService.class); @Resource private JdbcTemplate jdbcTemplate; diff --git a/at-sample/spring-seata/src/main/resources/all.sql b/at-sample/spring-seata/src/main/resources/all.sql index a6974d7f6..48d7ff4c5 100644 --- a/at-sample/spring-seata/src/main/resources/all.sql +++ b/at-sample/spring-seata/src/main/resources/all.sql @@ -53,4 +53,7 @@ CREATE TABLE IF NOT EXISTS `undo_log` `log_modified` DATETIME(6) NOT NULL COMMENT 'modify datetime', UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COMMENT ='AT transaction mode undo table'; -ALTER TABLE `undo_log` ADD INDEX `ix_log_created` (`log_created`); \ No newline at end of file +ALTER TABLE `undo_log` ADD INDEX `ix_log_created` (`log_created`); + +insert into account_tbl (user_id, money) values ('U100001', 10000); +insert into stock_tbl (commodity_code, count) values ('C00321', 100); \ No newline at end of file