瀏覽代碼

[add] facebookgo를 이용하여 nodeManager에 의존성 주입 진행(facebookgo 적용 테스트.)

master
kidjung 4 年之前
父節點
當前提交
62793fb96a
共有 1 個檔案被更改,包括 21 行新增3 行删除
  1. 21
    3
      src/broker/modules/init.go

+ 21
- 3
src/broker/modules/init.go 查看文件

4
 	"encoding/json"
4
 	"encoding/json"
5
 	"errors"
5
 	"errors"
6
 	"fmt"
6
 	"fmt"
7
+	"github.com/facebookgo/inject"
7
 	"log"
8
 	"log"
8
 	"net"
9
 	"net"
9
 	"net/rpc"
10
 	"net/rpc"
27
 
28
 
28
 type Moscato struct {
29
 type Moscato struct {
29
 	queue               MsgQueue
30
 	queue               MsgQueue
30
-	MicroServiceManager NodeManager
31
+	MicroServiceManager NodeManager `inject:""`
31
 	match_mng           match_manager
32
 	match_mng           match_manager
32
 	secure_mng          secure_manager
33
 	secure_mng          secure_manager
33
 }
34
 }
191
 }
192
 }
192
 
193
 
193
 func (moscato *Moscato) Run() {
194
 func (moscato *Moscato) Run() {
195
+
196
+	var graph inject.Graph
197
+
198
+	err := graph.Provide(
199
+		&inject.Object{Value: NewMStable()},
200
+		&inject.Object{Value: moscato})
201
+	if err != nil {
202
+		fmt.Println(err)
203
+		return
204
+	}
205
+
206
+	err = graph.Populate()
207
+	if err != nil {
208
+		fmt.Println(err)
209
+		return
210
+	}
211
+
194
 	//모스카토 구조체 변수 초기화
212
 	//모스카토 구조체 변수 초기화
195
 	receiver := Receiver{moscato: moscato}
213
 	receiver := Receiver{moscato: moscato}
196
-	err := moscato.queue.queue_init()
214
+	err = moscato.queue.queue_init()
197
 	if err != nil {
215
 	if err != nil {
198
 		fmt.Println(err)
216
 		fmt.Println(err)
199
 		return
217
 		return
200
 	}
218
 	}
201
 
219
 
202
-	moscato.MicroServiceManager = NewMStable()
220
+	//moscato.MicroServiceManager = NewMStable()
203
 
221
 
204
 	//go routine -> matching 동작
222
 	//go routine -> matching 동작
205
 	go moscato.match_mng.matching(&moscato.queue)
223
 	go moscato.match_mng.matching(&moscato.queue)

Loading…
取消
儲存