doc(readme): update orderly producer using new api
doc(readme): update orderly producer using the new API.
diff --git a/doc/Introduction.md b/doc/Introduction.md
index 60e70d8..55e8bd3 100644
--- a/doc/Introduction.md
+++ b/doc/Introduction.md
@@ -50,54 +50,27 @@
```
- Send ordered message
```go
- type queueSelectorByOrderID struct{}
+ func sendMessageOrderlyByShardingKey(config *rocketmq.ProducerConfig) {
+ producer, err := rocketmq.NewProducer(config)
+ if err != nil {
+ fmt.Println("create Producer failed, error:", err)
+ return
+ }
- func (s queueSelectorByOrderID) Select(size int, m *rocketmq.Message, arg interface{}) int{
- return arg.(int) % size
- }
- type worker struct {
- p rocketmq.Producer
- leftMsgCount int64
- }
+ producer.Start()
+ defer producer.Shutdown()
+ for i := 0; i < 1000; i++ {
+ msg := fmt.Sprintf("%s-%d", "Hello Lite Orderly Message", i)
+ r, err := producer.SendMessageOrderlyByShardingKey(
+ &rocketmq.Message{Topic: "YourOrderLyTopicXXXXXXXX", Body: msg}, "ShardingKey" /*orderID*/)
+ if err != nil {
+ println("Send Orderly Message Error:", err)
+ }
+ fmt.Printf("send orderly message result:%+v\n", r)
+ time.Sleep(time.Duration(1) * time.Second)
+ }
- func (w *worker) run() {
- selector := queueSelectorByOrderID{}
- for atomic.AddInt64(&w.leftMsgCount, -1) >= 0 {
- r, err := w.p.SendMessageOrderly(
- &rocketmq.Message{Topic: *topic, Body: *body}, selector, 7 /*orderID*/, 3,
- )
- if err != nil {
- println("Send Orderly Error:", err)
- }
- fmt.Printf("send orderly result:%+v\n", r)
- }
- }
-
- func sendMessageOrderly(config *rocketmq.ProducerConfig) {
- producer, err := rocketmq.NewProducer(config)
- if err != nil {
- fmt.Println("create Producer failed, error:", err)
- return
- }
-
- producer.Start()
- defer producer.Shutdown()
-
- wg := sync.WaitGroup{}
- wg.Add(*workerCount)
-
- workers := make([]worker, *workerCount)
- for i := range workers {
- workers[i].p = producer
- workers[i].leftMsgCount = (int64)(*amount)
- }
-
- for i := range workers {
- go func(w *worker) { w.run(); wg.Done() }(&workers[i])
- }
-
- wg.Wait()
- }
+ }
```
- Push Consumer
```go