我試圖運行一個「Hello,world」Spring Cloud數據流流,它基於一個非常簡單的例子http://cloud.spring.io/spring-cloud-dataflow/。我能夠創建一個簡單的源代碼和接收器,並使用Kafka在本地SCDF服務器上運行它,因此,在此之前,所有信息都是正確的,並且在SCDF指定的主題中生成和使用消息。Kubernetes/Spring雲數據流stream> spring.cloud.stream.bindings.output.destination被生產者忽略
現在,我試圖根據http://docs.spring.io/spring-cloud-dataflow-server-kubernetes/docs/current-SNAPSHOT/reference/htmlsingle/#_getting_started中列出的說明將其部署到我的私有云中。使用這個部署,我可以毫無問題地部署一個簡單的「time | log」開箱即用的流,但是我的示例失敗了,因爲生產者沒有編寫創建pod時指定的主題(例如,spring.cloud.stream.bindings.output.destination = ntest33.nites-source9),但在主題「輸出」中。我與接收器組件有類似的問題,它會在主題「輸入」中創建並期望消息。
nsource1 | log
和集裝箱args作爲源有::
我使用儀表板創建的流定義源分量
--spring.cloud.stream.bindings.output.producer.requiredGroups=ntest34
--spring.cloud.stream.bindings.output.destination=ntest34.nsource1
代碼段是 包XXXX;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.messaging.Source;
import org.springframework.context.annotation.Bean;
import org.springframework.integration.annotation.InboundChannelAdapter;
import org.springframework.integration.core.MessageSource;
import org.springframework.messaging.support.GenericMessage;
@SpringBootApplication
@EnableBinding(Source.class)
public class HelloNitesApplication
{
public static void main(String[] args)
{
SpringApplication.run(HelloNitesApplication.class, args);
}
@Bean
@InboundChannelAdapter(value = Source.OUTPUT)
public MessageSource<String> timerMessageSource()
{
return() -> new GenericMessage<>("Hello " + new SimpleDateFormat().format(new Date()));
}
並在日誌中我可以清楚地看到
2017-04-07T09:44:34.596842965Z 2017年4月7日09:44:34593信息主要osicDirectChannel:81 - 通道「 application.output'有1個用戶。
問題是,如何正確覆蓋必須生成/使用消息的主題,或者使用哪些屬性和值來使這些工作在k8s上?
UPDATE:我使用的RabbitMQ
2017-04-07T12類似的問題:56:56:12 40.435405177Z 2017年4月7日40.435 INFO 7 --- [主要] osintegration。 channel.DirectChannel:頻道'application.output'有1個用戶。
感謝您的回答,我添加了流的定義。 –
由於圖像定義中的錯誤,服務器是否可以使用由SCDF在Pod中傳遞的參數?我跟着https://spring.io/guides/gs/spring-boot-docker/創建了映像,但我沒有找到應用程序啓動器源代碼。 –