Dans mon projet de chameau/plan i défini un property-placeholder
dans le blueprint.xml:Comment injecter des propriétés de plusieurs espaces réservés de propriété en java
<cm:property-placeholder id="props.placeholder" persistent-id="props.blueprint">
<cm:default-properties>
<cm:property name="app.name" value="app-service" />
</cm:default-properties>
</cm:property-placeholder>
Avec cela en place, je peux injecter les propriétés en java (par exemple chameau routes):
@Value("${app.name}")
private String name;
maintenant je dois introduire un 2ème espace réservé de la propriété:
<cm:property-placeholder id="container_specific.placeholder" persistent-id="container_specific.blueprint"
placeholder-prefix="%%{" placeholder-suffix="}%%">
<cm:default-properties>
<cm:property name="service.port" value="1234"/>
</cm:default-properties>
</cm:property-placeholder>
Mais comment utiliser/injecter la propriété du 2ème titulaire dans Java? @Value("%%{service.port}%%)
ne fonctionne pas.
Avez-vous essayé @PropertyInject ("{{service.port}}")) –
Comment est-ce lié à la 2ème placeholder? – dermoritz
Je veux dire remplacer l'annotation @Value par @PropertyInject ("service.port"), je l'ai utilisé dans mon code de cette façon et cela fonctionne. L'utilisation principale que je penserais de la propriété-placeholder différente est quand vous faites des tests unitaires et vous voulez les remplacer dans vos tests. Ensuite, vous faites référence à la valeur persisent-id. –