2015-11-04 26 views

回答

5

它認爲是有可能的。

構建一個自定義的遠程服務實體,如BulkUserServiceUtil.addUsers,其中爲每個用戶調用標準方法UserLocalServiceUtil.addUser

BulkUserServiceUtil方法返回該事務被提交。

+3

+1服務方式。 *不要*使用SQL插入:不要*使用SQL寫入數據庫,因爲Liferay需要的不僅僅是用戶表中顯而易見的內容。此警告丟失,否則我完全支持這個答案。 –

-3

@sandeep:

是,Liferay的沒有爲我們提供新增/更新的大宗用戶,因爲畢竟用戶創建受到影響,因爲還包括用戶索引表中的一些,但如果你想這樣做,我有兩個建議:

  1. 取物品 REINDEX選項的參考:在這種情況下,你可以創建一個批處理計數器的範圍與某種價值和更新/添加的那批,但事情是Liferay的內部調用ADDUSER默認。所以它可以使用的迭代方式。
  2. 沒有服務:創建一些自定義腳本,並直接打一次數據庫。它們會創建用戶,但在這種情況下,您必須照顧其他需要插入用戶標識或相應數據的生命表。
+2

對不起,但「創建一些自定義腳本,並直接打一次數據庫」是可能的,但它是liferay一個非常不好的習慣。 –

+0

最好調用100k次的迭代,你可以編寫一些不會影響DB的排序代碼。如果Liferay不允許,那麼我們必須做一些不同的事情。 –