코드에서 구독을 신청하려면 자바 라이브러리를 사용하고 있습니다. 사용 SBT : 그것은 위대한 작품을 https://cloud.google.com/pubsub/docs/pullGoogle Pubsub : UNAVAILABLE : 서비스가 요청을 수행하지 못했습니다.
val projectId = "test-topic"
val subscriptionId = "test-sub"
def main(args: Array[String]): Unit = {
val subscriptionName = SubscriptionName.create(projectId, subscriptionId)
val subscriber = Subscriber.defaultBuilder(subscriptionName, new PastEventMessageReceiver()).build()
subscriber.startAsync()
System.in.read()
}
class PastEventMessageReceiver extends MessageReceiver {
override def receiveMessage(message: PubsubMessage, consumer: AckReplyConsumer): Unit = {
println(message)
consumer.ack()
}
, 내가 쪽지 출판 당길 수 있어요하지만 난 내 로그에 분당 여러 번이 오류를보고 계속 : "com.google.cloud" % "google-cloud-pubsub" % "0.24.0-beta"
나는 가입자를 작성하는이 가이드를 따라 .
com.google.cloud.pubsub.v1.StreamingSubscriberConnection$1 onFailure
WARNING: Terminated streaming with exception
io.grpc.StatusRuntimeException: UNAVAILABLE: The service was unable to fulfill your request. Please try again. [code=8a75]
at io.grpc.Status.asRuntimeException(Status.java:526)
at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:385)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:422)
at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:61)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:504)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:425)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:536)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:102)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
내가 먼저 내가 분당 여러 번 볼 지연 후, 그 오류가 표시되지 않는 약간의 지연 (1-2 주위 분)가이 응용 프로그램을 실행합니다. 내 응용 프로그램은 여전히 힘든 메시지를 끌어낼 수 있습니다.
"care less"라는 조언을 무시하고 싶을 수도 있습니다 ... 일단이 오류가 발생하면 응용 프로그램은 계속 실행되지만 더 이상 메시지를받지 않습니다. 응용 프로그램을 다시 시작하면 메시지를 다시 받기 시작하지만 결국 같은 오류가 발생합니다. – howMuchCheeseIsTooMuchCheese