1

私はグラスフィッシュ 3.1、スプリング 3.2、および jdk 1.7 を使用しています。

Glassfish で 2 つのカスタム JNDI リソースを構成しました。1 つは「config」と呼ばれ、もう 1 つは「mappings」と呼ばれます。しかし、コードでそれらの 1 つを参照すると、実際には両方とすべてのシステム プロパティ (catalina.base など) のプロパティがあります。3セットすべてではなく、1つだけが欲しいです。

設定したので、Spring コンテキスト ファイルでプロパティを取得します。

<jee:jndi-lookup id="mappingsJndi" jndi-name="mappings" resource-ref="true" />
<bean id="propertyMappings" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
        <property name="propertiesArray">
            <list>
                <ref bean="mappingsJndi"/>
            </list>
        </property>
    </bean>

サーブレットで参照します。次のように注入されます。

@Autowired
Properties[] propertyMappings;

インジェクションは機能しますが、1 つではなく 3 つのプロパティ オブジェクトが含まれています。これを回避する方法はありますか?

4

1 に答える 1

3

私はそれを理解したように見えます。次のように propertyMappings Bean を参照する代わりに:

@Autowired
Properties[] propertyMappings;

JNDI ルックアップを直接参照するだけです。

@Autowired
Properties mappingsJndi;
于 2013-01-04T19:23:00.703 に答える