2012-10-16 33 views
2

在我的Liferay 6.1.1安裝我在Ext插件中擴展了(注意:未覆蓋)UserLocalServiceImpl類,以提供更加寬鬆的屏幕名稱驗證。但是,我一直無法讓Liferay加載新班級,而不是默認的UserLocalServiceImpl班。在Ext插件中擴展Liferay UserLocalServiceImpl

據我所知,"normal" way取代服務類是使用一個掛鉤插件。不幸的是,鉤子插件無法訪問實現類。我將不得不延長UserLocalServiceWrapper而不是UserLocalServiceImpl,這對於這種特殊用途來說是非常麻煩的。

有沒有辦法讓Liferay使用我的修改後的服務類從一個Ext插件?或者,有沒有辦法允許一個鉤子插件訪問實現類?

回答

0

有可能使用以下步驟來更改從一個Ext插件服務類實現:

  • 創建的ext文件夾命名爲docroot/WEB-INF/ext-impl/srcMETA-INF一個新的文件夾。

  • 根據docroot/WEB-INF/ext-impl/src/META-INF創建一個名爲ext-spring.xml的新文件。

  • 搜索Liferay 來源分配爲portal-spring.xml文件。在Liferay 6.1.1中可以找到portal-impl/src/META-INF/portal-spring.xml

  • portal-spring.xml的內容複製到之前創建的ext-spring.xml文件中。

  • 移除ext-spring.xml所有豆條目,除了那些對應於該將被替換/擴展類。

  • 對於每個剩餘的條目,將class屬性更改爲指向替換類。

  • 重新部署Ext插件並重新啓動Liferay應用程序服務器。

+0

我用轉插件來改變LDAP類,並試圖部署。它不工作。你能幫忙嗎? http://stackoverflow.com/questions/27399917/ext-plugin-not-working-in-liferay-6-1-2-jboss7 – sree