Ich entwickle eine benutzerdefinierte Starter-App mit dem Code here, weil ich TcpSSLContextSupport
hinzufügen wollte. Ich habe es geschafft, und es funktionierte auf meinem lokalen SCDF-Server, aber jetzt möchte ich es auf SCDF für Kubernetes über Google Cloud bereitstellen. Ich habe eine image dafür erstellt und es funktioniert, aber das Verhalten ist ein wenig unerwartet.Benutzerdefinierte SCDF Starter App schreibt in "Ausgabe" Thema
Ich erstellte einen Stream wie: stream create stream-name --definition "app-name | log"
.
Zunächst einmal, es erstellt ein Thema nach Konvention stream-name.app-name
, und ich habe erwartet, dass es mir die Nachrichten dort zeigt, aber es schreibt tatsächlich in das Thema "Ausgabe", das ist seltsam. Ich habe keine zusätzliche Konfiguration zur Verfügung gestellt. Ich habe es mit SCDF neueste Version sowie 1.2.0.RELEASE mit den gleichen Ergebnissen versucht.
Ich weiß über die Konfiguration, die ich hinzufügen kann, aber ich versuche zu verstehen, warum Spring dies speziell mit meiner benutzerdefinierten App tut, aber nicht, wenn ich die 'tcp | log 'Option, besonders wenn ich nichts geändert habe, was mir einfällt. Und ich weiß auch nicht, was du meinst, wenn du sagst, dass Spring den Outbound-Channel korrekt setzt, wenn 'stream-name.app-name' erstellt wird, weil er den Outbound-Kanal eindeutig auf' output' setzt, obwohl das? – ystark
Alle Out-of-the-Box-Apps enthalten die Namen der ausgehenden und eingehenden Kanäle als "Ausgabe" und "Eingabe". Aus diesem Grund legt SCDF den Zielnamen unter Verwendung dieses Kanalnamens fest. Wenn Sie in Ihrer benutzerdefinierten App einen anderen Kanalnamen verwenden, müssen Sie die Konfiguration wie oben vornehmen. –
Es ist auch Spring Cloud Stream, der den Namen des ausgehenden Ziels (Thema) als "Ausgabe" festlegt und es passiert hier: https://github.com/spring-cloud/spring-cloud-stream/blob/master/spring- cloud-stream/src/main/java/org/springframework/wolke/stream/config/BindingServiceProperties.java # L207 –