Ich habe ein Spring XD-Modul erstellt, das Zugriff auf seine ModuleMedatada haben muss.So erhalten Sie eine Spring XD Modul-Metadaten aus dem Modul selbst
Ich kann Metadaten durch ZooKeeperModuleMetadataRepository bekommen, aber ich bin noch herauszufinden, wie ich mein laufendes Modul eindeutig identifizieren kann.
die Probenmodul Gegeben:
@MessageEndpoint
public class DummyAugmenter {
@Transformer(inputChannel = "input", outputChannel = "output")
public Message<?> augmentMessage(Message<?> originalMessage) throws IOException {
// Get module metada
System.out.println("I am associated with stream " +
metadata.getUnitName() +
" and my instance number is " +
metadata.getId().getIndex());
// Some logic
return newMsg;
}
}
Im plugin documentation betont wird, dass ein Modul seinen eigenen Kontext hat, aber es ist unklar, wie diesen Kontext zu bekommen (wenn möglich) und welche Informationen sie halten.
Jede Hilfe wäre sehr willkommen!
Korrekt, die Modul-Metadaten selbst ist nicht als Bean registriert; Es wird verwendet, um die Umgebung zu bevölkern. So können Sie beliebige Eigenschaften aus den Metadaten '@Value (" $ {prefix} ") String-Präfix;', sowie die Laufzeiteigenschaften 'xd. *' / –