Издатель клиента PubSub не создает PubsubMessage и возвращает ноль в контейнере Docker. - PullRequest
0 голосов
/ 24 октября 2019

Я использую Google PubSub Client для Java для публикации сообщения в gcp pubsub. Я могу опубликовать сообщение при локальной попытке, но когда я запускаю то же самое приложение внутри docker container, оно выходит из строя без какого-либо надлежащего сообщения об ошибке. Я сохранил учетные данные GCP JSON внутри самого контейнера и указал на него. Я попробовал то же самое с выключением издателя в блоке finally, но безуспешно. Ниже приведен фрагмент кода:


        try {
            publisher = Publisher.newBuilder(topicName).setCredentialsProvider(FixedCredentialsProvider.create(creds)).build();
            log.info("published ----------------------  " +publisher); // can see this in log
            ByteString data = ByteString.copyFromUtf8(message);
            log.info("data ----------------------  " +data);    // can see this in log
            PubsubMessage pubsubMessage = PubsubMessage.newBuilder().setData(data).build();
            log.info("pubsubMessage ----------------------  " +pubsubMessage);    // **cannot** see this in log
            messageIdFuture = publisher.publish(pubsubMessage);
            log.info("messageIdFuture  ----------------------  " +messageIdFuture);//cannot see this
        } finally {
            if(Objects.nonNull(messageIdFuture)){
            log.info("published with message ID: " + messageIdFuture.get());} 
            else{
                log.info("message Id null : " + messageIdFuture); //finally this is logged with messageIdFuture null
            }

Любая помощь будет очень ценится.

...