3
새 주제를 만들 때 pubsub 에뮬레이터를 사용하여 기본 구현을 테스트하고 문제가 발생했습니다. 8085을하고 난 API를 통해 항목을 만들 경우pubsub 에뮬레이터에서 주제 만들기
PUT http://localhost:8085/v1/projects/testproject/topics/test
모든 것이 잘 작동하고 항목이 생성됩니다 :
내 에뮬레이터는 localhost를 수신합니다. 그러나 내가 의도 한대로 작동 다음 코드 아무것도 실행하지 않고 화제가 작성되지됩니다 경우 :
TopicName topicName = TopicName.create("testproject", "test");
ChannelProvider channelProvider =
TopicAdminSettings.defaultChannelProviderBuilder()
.setEndpoint("localhost:8085")
.setCredentialsProvider(
FixedCredentialsProvider.create(NoCredentials.getInstance()))
.build();
TopicAdminClient topicClient = TopicAdminClient.create(
TopicAdminSettings.defaultBuilder().setChannelProvider(channelProvider).build());
topicClient.createTopic(topicName);
내가 내 ChannelProvider에 뭔가 실종이에게 에뮬레이터 로그
[pubsub] Apr 27, 2017 1:10:47 PM io.gapi.emulators.grpc.GrpcServer$3 operationComplete
[pubsub] INFORMATION: Adding handler(s) to newly registered Channel.
[pubsub] Apr 27, 2017 1:10:47 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
[pubsub] INFORMATION: Detected non-HTTP/2 connection.
[pubsub] Apr 27, 2017 1:10:47 PM io.gapi.emulators.netty.NotFoundHandler handleRequest
[pubsub] INFORMATION: Unknown request URI: /bad-request
[pubsub] Apr 27, 2017 1:10:47 PM io.gapi.emulators.grpc.GrpcServer$3 operationComplete
[pubsub] INFORMATION: Adding handler(s) to newly registered Channel.
[pubsub] Apr 27, 2017 1:10:47 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
[pubsub] INFORMATION: Detected non-HTTP/2 connection.
[pubsub] Apr 27, 2017 1:10:47 PM io.gapi.emulators.netty.NotFoundHandler handleRequest
[pubsub] INFORMATION: Unknown request URI: /bad-request
...
[pubsub] Apr 27, 2017 1:10:49 PM io.gapi.emulators.grpc.GrpcServer$3 operationComplete
[pubsub] INFORMATION: Adding handler(s) to newly registered Channel.
[pubsub] Apr 27, 2017 1:10:49 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
[pubsub] INFORMATION: Detected non-HTTP/2 connection.
을 실행하는 동안? 또는 TopicAdminClient를 올바르게 구성하지 않았습니까? 나는 무엇을 잘못 사용했는지 모르겠다. this as reference.
어쩌면 누군가 나를 도와 줄 수 있습니다.
토픽을 만들고 메시지를 게시 해 주셔서 감사합니다. Subscriber.Listener와 비슷한 것을 구현해야합니까? 구독자에 대해 동일한 channelProvider를 설정했지만 subscriber.stopAsync()를 호출 할 때 항상 java.util.concurrent.RejectedExecutionException이 throw되고 임의로 메시지를 가져 오거나 보내지 않습니다. 여기에 뭔가 빠졌습니까? –
구독자에게도 동일한 종류의 ChannelProvider를 사용해야합니다 (예). RejectedExecutionException의 원인을 밝히기는 어렵습니다. 나는 그것이 구독자 나 에뮬레이터에 특정한 문제는 아니지만 구독, 사용하는 집행자 또는 앱의 개체 수명과 관련하여 귀하의 코드에만 해당 될 수 있다고 생각합니다. –
나는 더 자세한 설명을 줄 수있는 또 다른 질문을 열었다 [link] (http://stackoverflow.com/questions/43786716/subscriber-stopasync-results-in-rejectedexecutionexception) –