2

Liferay 6.1.1 のインストールでは、Ext プラグインのクラスを拡張 (注: オーバーライドはしていません) してUserLocalServiceImpl、より緩和されたスクリーン名の検証を提供しました。ただし、Liferay にデフォルト クラスの代わりに新しいクラスをロードさせることができませんでしたUserLocalServiceImpl

私が知る限り、サービス クラスを置き換える「通常の」方法は、フック プラグインを使用することです。残念ながら、フック プラグインは実装クラスにアクセスできません。UserLocalServiceWrapperの代わりに拡張する必要がUserLocalServiceImplあり、この特定の用途では非常に面倒です。

Ext プラグインから修正したサービス クラスを Liferay に使用させる方法はありますか? または、実装クラスへのフック プラグイン アクセスを許可する方法はありますか?

4

1 に答える 1

0

次の手順を使用して、サービス クラスの実装を Ext プラグインから変更することができます。

  • Ext フォルダにMETA-INFunderという名前の新しいフォルダを作成します。docroot/WEB-INF/ext-impl/src

  • ext-spring.xmlという名前の新しいファイルを作成しますdocroot/WEB-INF/ext-impl/src/META-INF

  • ファイルの 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置き換え/拡張されるクラスに対応するものを除いて、すべての Bean エントリを から削除します。

  • 残りのエントリごとclassに、置換クラスを指すように属性を変更します。

  • Ext プラグインを再デプロイし、Liferay アプリケーション サーバーを再起動します。

于 2012-10-16T10:59:11.683 に答える