我想弄清楚如何創建一個無狀態Spring bean,包裝一組調用salesforce web服務API。我的理解是,調用Salesforce的過程是這樣的:一個春季bean來包裝salesforce網絡服務調用
- 呼叫登錄服務登錄到Salesforce
- 進行一系列服務的調用
- 呼叫註銷
要有一個無狀態的包裝它似乎是正確的模式是讓bean中的每個方法執行上述所有三個步驟。例如(僞代碼)
binding.login();
binding.upsert(….);
binding.upsert(….);
binding.logout();
這是一個很好的做法嗎?看來,爲了保持bean無狀態將是一種昂貴的方式。在這種情況下,最好是製作豆request scope
?
您不希望在每次調用時都要調用登錄/註銷,您將不必要地刻錄api調用,並添加延遲。你不能使用你計劃用來存儲用戶名/密碼來存儲sessionId的任何狀態嗎? – superfell 2010-09-28 03:01:15
謝謝@superfell。在bean內部保持狀態是很容易的。我只是好奇我是否需要用請求範圍來實例化這個spring bean。我認爲答案是肯定的。那麼問題是:請求範圍是否會增加顯着的可擴展性成本?我是Spring的新手,所以我不知道請求範圍的開銷。 – pastafarian 2010-09-28 05:38:23
正如@superfell所提到的那樣,可擴展性的擔憂並不僅限於Spring可以做什麼。您是否知道Salesforce的管理員限制?在爲Salesforce設計封裝程序時,您需要確保儘可能少地使用api來避免觸及這些限制。有關更多信息,請閱讀http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_gov_limits.htm。 – Paddyslacker 2010-09-29 15:36:02