2017-07-26 1 views
0

私はLiferay 7モジュールを作成しました。これはうまく動作します。私はLiferayモジュールを書いた。管理者が設定する方法

問題:Javaソースコードでは、管理者が変更する必要があるものをハードコードしました。

質問:Liferayの設定を外部化する方法は何ですか?サーバを再起動する必要はありませんが、ライブ実行中のサーバ(Gogo Shell経由)の設定を変更する機能は、サーバの再起動後も有効です。

は具体的には、私は私が"3g9828hf928rf98"と私は"BASIC-WEB-CONTENT","EVENTS","INVENTORY"のように見える許さ構造体のリストを設定したい対象の別のモジュールのように見えるAPIキーを設定できるようにしたい対象のモジュールを持っています。

答えて

2

Liferayは標準のOSGi構成を利用しています。ここでそれを文書化するのはかなりの作業ですが、それはうまくレイアウトされていますin the documentation。要するに

@Meta.OCD(id = "com.foo.bar.MyAppConfiguration") 
public interface MyAppConfiguration { 

    @Meta.AD(
     deflt = "blue", 
     required = false 
    ) 
    public String favoriteColor(); 

    @Meta.AD(
     deflt = "red|green|blue", 
     required = false 
    ) 
    public String[] validLanguages(); 

    @Meta.AD(required = false) 
    public int itemsPerPage(); 

} 

ObjectClassDefinitionの略OCD。この構成クラス/オブジェクトは、id/pidを通じて構成可能オブジェクトに結び付けられます。

ADはAttributeDefinition用であり、このメタタイプの助けを借りて自動生成される設定インターフェースのヒントを提供します。

自動生成されたUIの外観が気に入らないときは、画面上に表示されているラベル(標準のLiferay翻訳)にローカライゼーションキーを追加するだけです。

たとえば、​​のようなOSGiの設定について詳しく説明していますが、私が見つけた例は設定をたどるよりも少し複雑です。

関連する問題