[英]Does Liferay support the "run once" functionality?
因此,如果我們只想在 Liferay 啟動時運行某些東西,我們可以使用此處其他一些答案中描述的技術,例如this 。 但是,這提供了“自動運行”功能,以通過使用操作系統管理表達式來表達自己。 每次啟動 Liferay 時,都會運行此代碼。 這對於 portlet 初始化和其他需要在 Liferay 每次啟動時執行的東西非常有用。
但是,我想知道的是,Liferay 中是否有任何“運行一次”的功能? 那么,一種指定要運行什么代碼的方法,就像在鏈接的問題中一樣,但是一旦它第一次運行就自動停用這個動作? 例如,如果我們有一些一次性的數據庫初始化過程或類似的東西。
這在 Liferay 中可能嗎?
當然,我可以在數據庫中手動實現一個標志,該標志將保存有關一次操作是否已執行的信息,然后在操作中執行檢查,如果標志為真,則在執行一次初始化之前從方法返回,當然,這是一種選擇,但是,是否有一些本機Liferay 方法可以一次且僅執行一次操作?
所以,我正在尋找自動注銷功能。 這樣我就可以創建一個動作,注冊它,然后 Liferay 會在它第一次運行時自動注銷它。 像那樣的東西。
當然,起點是https://help.liferay.com/hc/en-us/articles/360018162611-Waiting-on-Lifecycle-Events
查找 PORTAL_INITIALIZED 示例。
Run once是寧在realm的一個 升級動作。 您可以編寫一個模塊名稱並“升級”到它的版本 1。
在您帶來更新的升級例程之前,它確實運行並且不會再次升級。 這個名字可能聽起來很奇怪,但這正是需要做一次然后再也不會做的事情(除非你想添加更多 - 然后你升級“進一步”,或提供新的升級動作)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.