Skip to content

Commit 85969cd

Browse files
author
卖女孩的小火柴
committed
feat:改回dtm
1 parent 6643d28 commit 85969cd

File tree

3 files changed

+35
-3
lines changed

3 files changed

+35
-3
lines changed

src/ConfigProvider.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
use DtmClient\Api\ApiInterface;
1212
use DtmClient\Api\HttpApi;
1313
use DtmClient\Api\HttpApiFactory;
14+
use DtmClient\DBSpecial\DBSpecialFactory;
1415
use DtmClient\DBSpecial\DBSpecialInterface;
15-
use DtmClient\DBSpecial\MySqlDBSpecial;
1616
use DtmClient\DbTransaction\DBTransactionInterface;
1717
use DtmClient\DbTransaction\HyperfDbTransaction;
1818
use DtmClient\Grpc\GrpcClientManager;
@@ -43,7 +43,7 @@ public function __invoke(): array
4343
ApiInterface::class => ApiFactory::class,
4444
GrpcClientManager::class => GrpcClientManagerFactory::class,
4545
DBTransactionInterface::class => HyperfDbTransaction::class,
46-
DBSpecialInterface::class => MySqlDBSpecial::class,
46+
DBSpecialInterface::class => DBSpecialFactory::class,
4747
PathGeneratorInterface::class => DtmPatchGenerator::class,
4848
JsonRpcTransporter::class => JsonRpcPoolTransporter::class,
4949
ResponseInterface::class => Response::class,

src/DBSpecial/DBSpecialFactory.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
/**
5+
* This file is part of DTM-PHP.
6+
*
7+
* @license https://github.com/dtm-php/dtm-client/blob/master/LICENSE
8+
*/
9+
namespace DtmClient\DBSpecial;
10+
11+
use DtmClient\Constants\DbType;
12+
use DtmClient\Exception\UnsupportedException;
13+
use Hyperf\Contract\ConfigInterface;
14+
use Psr\Container\ContainerExceptionInterface;
15+
use Psr\Container\ContainerInterface;
16+
use Psr\Container\NotFoundExceptionInterface;
17+
18+
class DBSpecialFactory
19+
{
20+
/**
21+
* @throws UnsupportedException
22+
* @throws NotFoundExceptionInterface
23+
* @throws ContainerExceptionInterface
24+
*/
25+
public function __invoke(ContainerInterface $container): DBSpecialInterface
26+
{
27+
$type = $container->get(ConfigInterface::class)->get('dtm.barrier.db.type', DbType::MySQL);
28+
return match ($type) {
29+
DbType::MySQL => $container->get(MySqlDBSpecial::class),
30+
default => throw new UnsupportedException(),
31+
};
32+
}
33+
}

src/XA.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use DtmClient\Exception\InvalidArgumentException;
1818
use DtmClient\Exception\UnsupportedException;
1919
use DtmClient\Exception\XaTransactionException;
20-
use DtmClient\Grpc\Message\DtmBranchRequest;
2120
use Google\Protobuf\Internal\Message;
2221

2322
class XA extends AbstractTransaction

0 commit comments

Comments
 (0)