簡體   English   中英

Liferay 是否支持“運行一次”功能?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM