9
A
回答
18
Grails服務可能used with different scopes,不只是singleton
,加入像這樣的類:
static scope = "flow"
從手冊:
prototype
- 一個新的服務創建的每個它被注入到另一個類中request
- 每個請求都會創建一個新服務flash
- 一個新的服務將用於當前和下一請求僅flow
創建 - 在網絡中流動的服務將用於流conversation
的範圍存在 - 在網絡中流動的服務將存在於談話的範圍。即,根流和它的子流session
- 對於用戶會話的範圍,創建服務singleton
(缺省) - 的服務只有一個實例永遠存在
的主要原因選擇singleton
作爲默認值是爲了獲得更好的性能,無論是在減少的內存使用情況下(只有一個實例處於閒置狀態)以及減少的處理時間,因爲您可以消除創建新對象的開銷。
相關問題
- 1. Grails創建服務是做什麼的?
- 2. Grails服務函數的返回類型是什麼?
- 3. 爲什麼EJB計時器服務使用Singleton作爲標準?
- 4. 爲什麼不是方法引用singleton?
- 5. java threadlocal singleton - 它是什麼?
- 6. 爲什麼在StructureMap中處理Singleton類而瞬變不是
- 7. 爲什麼使用singleton而不是靜態類?
- 8. 爲什麼singleton對象是通過類方法創建的?
- 9. 這是什麼類型的服務?
- 10. 爲什麼Singleton類可以作爲常規類使用
- 11. 爲什麼ServiceBehavior是服務類的屬性而不是合同?
- 12. 使用類型對Grails服務有什麼影響?
- 13. Grails服務中serviceMethod的用途是什麼?
- 14. 在Grails中使用Web服務的最佳方式是什麼?
- 15. 什麼是在grails中使用服務的最佳方式
- 16. 如何Grails的服務類
- 17. 的Grails:服務VS Groovy類
- 18. 爲什麼StaticFileHandler不是服務器.json?
- 19. 爲什麼domainObject.discard()在Grails的@Transactional服務中不起作用?
- 20. Drools singleton StatefulKnowledgeSession作爲Web服務
- 21. 斷言grails服務中的域類表是否爲空
- 22. 爲什麼服務類不是自動佈線的?
- 23. Grails服務交易行爲
- 24. 什麼是REST服務?
- 25. 什麼是IIS Web服務
- 26. 什麼是.NET服務?
- 27. 什麼是服務檢測?
- 28. 什麼是WCF服務
- 29. 什麼是memcached服務器
- 30. 什麼是Java微服務
現在我懷疑了。假設我有一個名爲'm1'的服務,它支持事務。現在兩個用戶同時訪問'm1',前提是'service'是單例,它如何同時處理兩個用戶以及事務支持? –
有[交易手冊中的整個部分](http://grails.org/doc/latest/guide/services.html#declarativeTransactions)。事務在方法調用期間處理,因此作用域不會進入它(只要您不在服務中存儲狀態)。 – OverZealous