2013-02-08 8 views
5

La proprietà globale non viene risolta dal file delle proprietà, a causa della quale la distribuzione di mmc non riesce. Qualche idea del perché cosa potrebbe essere sbagliato?Mule 3.3.0 - la proprietà globale non viene risolta dal file delle proprietà

<context:property-placeholder location="airports.properties" /> 
<global-property name="airportslist" value="${airportslist}" /> 

Ottenere la seguente eccezione -

 
com.mulesoft.mmc.agent.v3.dto.DeploymentException: Unexpected exception parsing XML document from URL [file:/arprt/mule-esb-ee/mule-enterprise-standalone-3.3.0/apps/myapp-1.0.0-SNAPSHOT/myapp-config.xml]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'airportslist' (org.mule.api.lifecycle.InitialisationException) (org.mule.api.config.ConfigurationException) 
     at com.mulesoft.mmc.agent.service.impl.ApplicationServiceImpl.deploy(ApplicationServiceImpl.java:245) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 

airports.properties contiene il sopra citato immobile:

airportslist={'SFO', 'YYZ', 'DFW'} 
+0

+1 buona domanda, sto affrontando lo stesso problema –

risposta

4

Non è necessario dichiarare un global-property se la proprietà è definita nel un file di proprietà e caricato con context:property-placeholder.

sufficiente rimuovere:

<global-property name="airportslist" value="${airportslist}" /> 

e utilizzare ${airportslist} ovunque sia necessario nel vostro config.

+0

Hai ragione. Ma sono solo curioso che la proprietà non debba ancora essere risolta? – user1493140

+1

Mmmh, stai colpendo un potenziale problema di ordinamento: la variabile globale-var è probabilmente risolta prima che il segnaposto della proprietà venga caricato. I vars globali dovrebbero essere usati insieme a oggetti di scena, non in combinazione con. –

+0

Grazie David. Capisco. – user1493140

Problemi correlati