我正在使用glassfish 3.1,spring 3.2和jdk 1.7。
我在Glassfish中配置了两个自定义JNDI资源。一个叫做'config',另一个叫'映射'。但是当我在代码中引用其中一个时,它实际上具有两个属性和所有系统属性(catalina.base等)。我只想要一套,而不是全部3套。
我设置了所以我在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>
我在servlet中引用它。它是这样注入的:
@Autowired
Properties[] propertyMappings;
注入工作,但它包含3个属性对象而不是一个。有没有办法解决这个问题?
答案 0 :(得分:3)
看起来我想通了。而不是像这样引用propertyMappings bean:
@Autowired
Properties[] propertyMappings;
我只是直接引用JNDI查找:
@Autowired
Properties mappingsJndi;