W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
讓我們假設(shè)我們有以下Maven存儲庫,其中包含用于camelService
應(yīng)用程序的已部署存根。
└── .m2 └── repository └── io └── codearte └── accurest └── stubs └── camelService ├── 0.0.1-SNAPSHOT │ ├── camelService-0.0.1-SNAPSHOT.pom │ ├── camelService-0.0.1-SNAPSHOT-stubs.jar │ └── maven-metadata-local.xml └── maven-metadata-local.xml
存根包含以下結(jié)構(gòu):
├── META-INF │ └── MANIFEST.MF └── repository ├── accurest │ ├── bookDeleted.groovy │ ├── bookReturned1.groovy │ └── bookReturned2.groovy └── mappings
讓我們考慮以下合同(用1編號):
Contract.make { label 'return_book_1' input { triggeredBy('bookReturnedTriggered()') } outputMessage { sentTo('jms:output') body('''{ "bookName" : "foo" }''') headers { header('BOOK-NAME', 'foo') } } }
和數(shù)字2
Contract.make { label 'return_book_2' input { messageFrom('jms:input') messageBody([ bookName: 'foo' ]) messageHeaders { header('sample', 'header') } } outputMessage { sentTo('jms:output') body([ bookName: 'foo' ]) headers { header('BOOK-NAME', 'foo') } } }
為了通過return_book_1
標(biāo)簽觸發(fā)消息,我們將使用StubTigger
接口,如下所示
stubFinder.trigger('return_book_1')
接下來,我們要收聽發(fā)送到jms:output
的消息的輸出
Exchange receivedMessage = consumerTemplate.receive('jms:output', 5000)
并且收到的消息將通過以下斷言
receivedMessage != null assertThatBodyContainsBookNameFoo(receivedMessage.in.body) receivedMessage.in.headers.get('BOOK-NAME') == 'foo'
由于已為您設(shè)置了路由,僅向jms:output
目標(biāo)發(fā)送一條消息就足夠了。
producerTemplate. sendBodyAndHeaders('jms:input', new BookReturned('foo'), [sample: 'header'])
接下來,我們要監(jiān)聽發(fā)送到jms:output
的消息的輸出
Exchange receivedMessage = consumerTemplate.receive('jms:output', 5000)
并且收到的消息將通過以下斷言
receivedMessage != null assertThatBodyContainsBookNameFoo(receivedMessage.in.body) receivedMessage.in.headers.get('BOOK-NAME') == 'foo'
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: