私は、スキンレジストリサーバーとスキーマレジストリクライアントを春のブート1.5.2で使用しています。Springクラウドストリームスキーマレジストリがスタンドアロンのtomcatにデプロイされる
私はカフカバインダーにavroメッセージを送信しています。 Brooklyn.SR3を使用しています。スキーマはpostgres DBに永続化されます。私は春のブートのメインクラスを開始している間、すべてうまく動作します。
試みは、スタンドアロンのTomcatにデプロイしようとは、バインダーにメッセージを送信するとエラーがあります:
caused by: org.springframework.web.client.HttpClientErrorException: 404 null
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:700)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:653)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:613)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:407)
at org.springframework.cloud.stream.schema.client.DefaultSchemaRegistryClient.register(DefaultSchemaRegistryClient.java:53)
at org.springframework.cloud.stream.schema.avro.AvroSchemaRegistryClientMess****ageConverter.resolveSchemaForWriting(AvroSchemaRegistryClientMessageConverter.java:187)****
at org.springframework.cloud.stream.schema.avro.AbstractAvroMessageConverter.convertToInternal(AbstractAvroMessageConverter.java:174)
at org.springframework.messaging.converter.AbstractMessageConverter.toMessage(AbstractMessageConverter.java:193)
at org.springframework.cloud.stream.binding.MessageConverterConfigurer$ContentTypeConvertingInterceptor.preSend(MessageConverterConfigurer.java:237)
at org.springframework.integration.channel.AbstractMessageChannel$ChannelInterceptorList.preSend(AbstractMessageChannel.java:538)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:415)
私はTomcatを9に切り替え、現在いくつかの他のエラー取得:
Caused by: org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [interface java.util.Map] and content type [text/html;charset=UTF-8]
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:109)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:917)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:901)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:655)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:613)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:407)
at org.springframework.cloud.stream.schema.client.DefaultSchemaRegistryClient.register(DefaultSchemaRegistryClient.java:54)
at org.springframework.cloud.stream.schema.avro.AvroSchemaRegistryClientMessageConverter.resolveSchemaForWriting(AvroSchemaRegistryClientMessageConverter.java:219)
at org.springframework.cloud.stream.schema.avro.AbstractAvroMessageConverter.convertToInternal(AbstractAvroMessageConverter.java:174)
at org.springframework.messaging.converter.AbstractMessageConverter.toMessage(AbstractMessageConverter.java:193)
at org.springframework.cloud.stream.binding.MessageConverterConfigurer$ContentTypeConvertingInterceptor.preSend(MessageConverterConfigurer.java:238)
at org.springframework.integration.channel.AbstractMessageChannel$ChannelInterceptorList.preSend(AbstractMessageChannel.java:538)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:415)
UPDATEを:
原因404が原因でスタンドアロンのTomcatにデプロイされたアプリケーションのルートが発生する問題。私はそれを修正しましたが、別のエラーが発生しました:
Failed to register schema: <302 Found,{Location=[/csl/], Transfer-Encoding=[chunked], Date=[Mon, 27 Mar 2017 10:08:40 GMT]}>
at org.springframework.cloud.stream.schema.client.DefaultSchemaRegistryClient.register(DefaultSchemaRegistryClient.java:64)
at org.springframework.cloud.stream.schema.avro.AvroSchemaRegistryClientMessageConverter.resolveSchemaForWriting(AvroSchemaRegistryClientMessageConverter.java:219)
at org.springframework.cloud.stream.schema.avro.AbstractAvroMessageConverter.convertToInternal(AbstractAvroMessageConverter.java:174)
at org.springframework.messaging.converter.AbstractMessageConverter.toMessage(AbstractMessageConverter.java:193)
at org.springframework.cloud.stream.binding.MessageConverterConfigurer$ContentTypeConvertingInterceptor.preSend(MessageConverterConfigurer.java:238)
at org.springframework.integration.channel.AbstractMessageChannel$ChannelInterceptorList.preSend(AbstractMessageChannel.java:538)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:415)
の終わりに/愚かだった:http://localhost/user/avroを照会するとき
また、私は、生成されたスキーマを取り戻します。 Tomcatはスタンドアロンプロセスとして実行されています。スキーマのレジストリは同じサーバー上にあります。spring.cloud.stream.schemaRegistryClient.endpoint = http:// localhost:8080同じエラーが発生します。ありがとう。 –
私はあなたが行方不明になるかもしれないか分からない。しかし、私はちょうどあなたが与えた同じ基本情報に従ったプロジェクトをセットアップし、すべてが機能しています。設定プロパティは次のとおりです。 –