2

share-config-custom.xmlShare webapp で Java Bean からデータにアクセスしたいと思います。

次の javascript 構文 (構成ルート オブジェクトにアクセスする) と同等ですが、Java コンテキストでは次のようになります。

config.scoped['RepositoryLibrary']['root-node']

share-config-custom は Bean 自体に変換されていますか? または、Java から読み取る API はありますか?

4

2 に答える 2

4

まず、1 つの XML 構成ファイルを「見て」この API を使用する「合理的な」方法はありません。一般に、ConfigServiceはさまざまなソースをマージして構成を作成します。ただし、XML を直接見る必要はありません。

そうは言っても、Javascript オブジェクトconfigは実際には org.springframework.extensions.webscripts.ScriptConfigModel.

Java で同等のものを取得するには、ConfigService. 参照を取得するには、Spring にカスタム Bean に注入させます。

<property name="configService" ref="web.config" /> 

を呼び出すconfigService.getGlobalConfig()と、 と同等の結果が得られますconfig.scoped

于 2013-01-04T17:41:04.937 に答える
1

私はこれがすでに答えられていることを知っていますが、アンドレアスの答えは私を途中でしか得ませんでした。構成クラスは、実際には XMLConfigService になりました。

Enterprise 4.1.* Alfresco で動作するコード スニペットを次に示します。

Java クラス

import org.springframework.extensions.config.xml.XMLConfigService;

public class PDFValidate extends BaseJavaDelegate implements ExecutionListener
{
    protected XMLConfigService configService;

    public void setConfigService( XMLConfigService scriptConfigModel )
    {
        this.configService = scriptConfigModel;
    }

Bean 登録:

<bean id="AbstractWorkflowDelegate" parent="baseJavaDelegate" abstract="true" depends-on="activitiBeanRegistry" />

<bean id="PDFValidate" parent="AbstractWorkflowDelegate" class="com.epnet.alfresco.metadata.listener.PDFValidate">
    <property name="repository" ref="repositoryHelper" />
    <property name="configService" ref="web.config" />
</bean>

そこから、Java コードで configService を使用して構成値を取得できます。XMLConfigService は、私のバージョンの Alfresco の spring-surf-core-configservice-1.2.0-SNAPSHOT.jar にあります。

于 2013-05-17T15:00:51.587 に答える