這裏的果殼中的問題:在CPMHandlerFactory爲什麼Spring會試圖使用屬性變量引用字符串而不是值?
<bean id="handlerFactory" class="com.westfieldgrp.audit.jdklogging.cpm.CPMHandlerFactory">
<property name="schemaName" value="${env.audit.databaseSchema}" />
<property name="bufferSize" value="${env.audit.bufferSize}" />
<property name="threaded" value="${env.audit.threadedAuditHandler}" />
<property name="dataSourceSelector" ref="dataSourceSelector" />
</bean>
BUFFERSIZE是一個int。 Spring失敗,因爲它試圖將值設置爲'$ {env.audit.bufferSize}',而不是來自屬性文件的實際值。
現在,當我更改文件中的屬性文件或env.audit.bufferSize的名稱時,Spring會抱怨它無法找到屬性'env.audit.bufferSize'。這對我說,它可以找到屬性,但不是將值設置爲'20',而是試圖將其設置爲'$ {env.audit.bufferSize}'。任何人都可以解釋爲什麼春天可能會這樣做,我可以做些什麼呢?
屬性的內容如下文件:
env.audit.databaseSchema=TDB2DATA
env.audit.dataSourceName=java:comp/env/AuditDataSourceAlias
env.audit.bufferSize=20
env.audit.threadedAuditHandler=true
謝謝, 彼得
編輯:
發現的感謝以下Jamestastic問題。下面是它是: 我們有一個「主」方面的文件,看起來像這樣:
<import resource="environmentBeans.xml" />
<import resource="serviceBeans.xml" />
<import resource="auditBeans.xml" />
的「environmentBeans.xml」有PropertyPlaceholderConfigurer在裏面。問題是,我添加了一些引用'auditBeans.xml'上下文的代碼,當然沒有有配置器。我將它轉換爲引用「主」上下文,並且它工作得很好。
關鍵是瞭解爲什麼值不會被取代:因爲沒有屬性配置器。
所以,謝謝!
清除屬性末尾的任何空格,它可能會導致它。 – 2010-08-13 17:13:19
是的,好主意,並已檢查。謝謝! – Risser 2010-08-13 17:20:16