[
https://issues.apache.org/jira/browse/SCB-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16595974#comment-16595974
]
ASF GitHub Bot commented on SCB-874:
------------------------------------
WillemJiang closed pull request #276: SCB-874:saga dubbo demo insert sql and
readme optimization
URL: https://github.com/apache/incubator-servicecomb-saga/pull/276
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/saga-demo/saga-dubbo-demo/README.md
b/saga-demo/saga-dubbo-demo/README.md
index deadb4f1..f8641d80 100644
--- a/saga-demo/saga-dubbo-demo/README.md
+++ b/saga-demo/saga-dubbo-demo/README.md
@@ -15,10 +15,88 @@ You will need:
[alpha_server]:
https://github.com/apache/incubator-servicecomb-saga/tree/master/alpha
## Running Demo
-```bash
-$ mvn clean install -DskipTests -Pdocker
-$ ./saga-dubbo-demo.sh up
+1. run the following command to create docker images in saga project root
folder.
+ ```
+ mvn clean install -DskipTests -Pdocker -Pdemo
+ ```
+2. Enter the saga dubbo demo directory and give permissions to script
+ ```
+ cd ./saga-demo/saga-dubbo-demo
+ chmod +x saga-dubbo-demo.sh
+ ```
+3. start the whole application up(including alpha server and three demo
services)
+ ```
+ ./saga-dubbo-demo.sh up
+ ```
+ **Note:** If you prefer to use MySQL as alpha's backend database, you need
to try the following steps instead:
+ 1. add dependency of `mysql-connector-java` in `alpha/alpha-server/pom.xml`
+ ```xml
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ </dependency>
+ ```
+ 2. re-generate saga's docker images in saga project root folder
+ ```bash
+ mvn package -DskipTests -Pdocker -Pdemo
+ ```
+ 3. start application up in `saga-dubbo-demo` with the following command
+ ```
+ cd ./saga-demo/saga-dubbo-demo
+ ./saga-dubbo-demo.sh up-mysql
+ ```
+
+ **Note:** If you want start alpha server and demon services separately,
you can try the following steps:
+ 1. start alpha server
+ ```bash
+ ./saga-dubbo-demo.sh up-alpha
+ ```
+ 2. when alpha server started complatelly, then start the demo services
+ ```bash
+ ./saga-dubbo-demo.sh up-demo
+ ```
+4. stop application
+ ```
+ ./saga-dubbo-demo.sh down
+ ```
+
+Use browser to run transaction demos:
+A:servicea B:serviceb C:servicec
+
+A->B
+```
+ http://${host_address}:8071/serviceInvoke/Ab
+```
+
+A->B (A throw an exception)
+```
+ http://${host_address}:8071/serviceInvoke/AExceptionWhenAb
+```
+
+A->B (B throw an exception)
+```
+ http://${host_address}:8071/serviceInvoke/BExceptionWhenAb
+```
+
+A->B A->C
+```
+ http://${host_address}:8071/serviceInvoke/AbAc
+```
+
+A->B A->C (C throw an exception)
+```
+ http://${host_address}:8071/serviceInvoke/CExceptionWhenAbAc
+```
+
+A->B B->C
+```
+ http://${host_address}:8071/serviceInvoke/AbBc
+```
+
+A->B B->C (C throw an exception)
+```
+ http://${host_address}:8071/serviceInvoke/CExceptionWhenAbBc
```
## Debugging
-Take the [spring-demo debugging](../saga-spring-demo#debugging) as a reference.
+Take the [spring-demo debugging](../saga-spring-demo#debugging) as a reference.
\ No newline at end of file
diff --git
a/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-mysql.sql
b/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-mysql.sql
index 91fc88ac..4802838f 100644
--- a/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-mysql.sql
+++ b/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-mysql.sql
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-CREATE TABLE `testa` (
+CREATE TABLE IF NOT EXISTS `testa` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`service` varchar(128) DEFAULT NULL,
`vstatus` varchar(128) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
-INSERT INTO `testa` (`id`, `service`, `vstatus`) VALUES
('1','servicea','init');
\ No newline at end of file
+INSERT INTO testa SELECT '1','servicea','init' WHERE NOT EXISTS (SELECT 1 FROM
testa WHERE id = '1');
\ No newline at end of file
diff --git
a/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-postgresql.sql
b/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-postgresql.sql
index 21c05cd5..b56018a1 100644
---
a/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-postgresql.sql
+++
b/saga-demo/saga-dubbo-demo/servicea/src/main/resources/schema-postgresql.sql
@@ -23,4 +23,4 @@ CREATE TABLE IF NOT EXISTS testa (
CREATE INDEX IF NOT EXISTS testa_index ON testa (id, service);
-INSERT INTO testa (id, service, vstatus) VALUES ('1','servicea','init');
\ No newline at end of file
+INSERT INTO testa SELECT '1','servicea','init' WHERE NOT EXISTS (SELECT 1 FROM
testa WHERE id = '1');
\ No newline at end of file
diff --git
a/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-mysql.sql
b/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-mysql.sql
index 2bc2a0c0..8803bf48 100644
--- a/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-mysql.sql
+++ b/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-mysql.sql
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-CREATE TABLE `testb` (
+CREATE TABLE IF NOT EXISTS `testb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`service` varchar(128) DEFAULT NULL,
`vstatus` varchar(128) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-INSERT INTO `testb` (`id`, `service`, `vstatus`) VALUES
('2','serviceb','init');
\ No newline at end of file
+INSERT INTO testb SELECT '2','serviceb','init' WHERE NOT EXISTS (SELECT 1 FROM
testb WHERE id = '2');
\ No newline at end of file
diff --git
a/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-postgresql.sql
b/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-postgresql.sql
index a50781b7..542bc68f 100644
---
a/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-postgresql.sql
+++
b/saga-demo/saga-dubbo-demo/serviceb/src/main/resources/schema-postgresql.sql
@@ -23,4 +23,4 @@ CREATE TABLE IF NOT EXISTS testb (
CREATE INDEX IF NOT EXISTS testb_index ON testb (id, service);
-INSERT INTO testb (id, service, vstatus) VALUES ('1','serviceb','init');
\ No newline at end of file
+INSERT INTO testb SELECT '2','serviceb','init' WHERE NOT EXISTS (SELECT 1 FROM
testb WHERE id = '2');
\ No newline at end of file
diff --git
a/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-mysql.sql
b/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-mysql.sql
index 8a32eae5..54547a3a 100644
--- a/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-mysql.sql
+++ b/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-mysql.sql
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-CREATE TABLE `testc` (
+CREATE TABLE IF NOT EXISTS `testc` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`service` varchar(128) DEFAULT NULL,
`vstatus` varchar(128) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-INSERT INTO `testc` (`id`, `service`, `vstatus`) VALUES
('3','servicec','init');
\ No newline at end of file
+INSERT INTO testc SELECT '3','servicec','init' WHERE NOT EXISTS (SELECT 1 FROM
testc WHERE id = '3');
\ No newline at end of file
diff --git
a/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-postgresql.sql
b/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-postgresql.sql
index 58f27dc6..e1c06419 100644
---
a/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-postgresql.sql
+++
b/saga-demo/saga-dubbo-demo/servicec/src/main/resources/schema-postgresql.sql
@@ -23,4 +23,4 @@ CREATE TABLE IF NOT EXISTS testc (
CREATE INDEX IF NOT EXISTS testc_index ON testc (id, service);
-INSERT INTO testc (id, service, vstatus) VALUES ('1','servicec','init');
\ No newline at end of file
+INSERT INTO testc SELECT '3','servicec','init' WHERE NOT EXISTS (SELECT 1 FROM
testc WHERE id = '3');
\ No newline at end of file
diff --git a/saga-demo/saga-spring-demo/README.md
b/saga-demo/saga-spring-demo/README.md
index 05024938..cf5f76c1 100644
--- a/saga-demo/saga-spring-demo/README.md
+++ b/saga-demo/saga-spring-demo/README.md
@@ -23,10 +23,14 @@ You can run the demo using either docker compose or
executable files.
### via docker compose
1. run the following command to create docker images in saga project root
folder.
```
- mvn clean package -DskipTests -Pdocker -Pdemo
+ mvn clean install -DskipTests -Pdocker -Pdemo
```
-
-2. start the whole application up(including alpha server and three demo
services)
+2. Enter the saga spring demo directory and give permissions to script
+ ```
+ cd ./saga-demo/saga-spring-demo
+ chmod +x saga-demo.sh
+ ```
+3. start the whole application up(including alpha server and three demo
services)
```
./saga-demo.sh up
```
@@ -39,16 +43,13 @@ You can run the demo using either docker compose or
executable files.
<artifactId>mysql-connector-java</artifactId>
</dependency>
```
- 2. remove alpha server's docker image
- ```bash
- docker rmi -f $(docker images | grep alpha-server | awk '{print $3}')
- ```
- 3. re-generate saga's docker images
+ 2. re-generate saga's docker images in saga project root folder
```bash
mvn package -DskipTests -Pdocker -Pdemo
```
- 4. start application up in `saga-demo/booking` with the following command
+ 3. start application up in `saga-demo/booking` with the following command
```
+ cd ./saga-demo/saga-spring-demo
./saga-demo.sh up-mysql
```
@@ -62,7 +63,7 @@ You can run the demo using either docker compose or
executable files.
./saga-demo.sh up-demo
```
-3. stop application
+4. stop application
```
./saga-demo.sh down
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> saga dubbo demo insert sql and readme optimization
> --------------------------------------------------
>
> Key: SCB-874
> URL: https://issues.apache.org/jira/browse/SCB-874
> Project: Apache ServiceComb
> Issue Type: Improvement
> Components: Saga
> Affects Versions: saga-0.3.0
> Reporter: FuChenGeng
> Assignee: FuChenGeng
> Priority: Minor
> Labels: documentation, patch
> Fix For: saga-0.3.0
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> services in saga dubbo demo can not restart because of the sql primary key.
> and some document improvement.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)