使用Java API时,GCP Pub / Sub Publisher进程将永久挂起

时间:2017-08-25 09:50:25

标签: java google-app-engine google-cloud-platform google-cloud-pubsub

我成功地将消息发布到Pub / Sub主题直到昨天。但是从今天早上开始,代码就会被永久地绞死。我的问题与描述here相同。 然后我尝试使用Java API创建一个主题,如下面的代码片段中描述的那样

SELECT ID
FROM tab
GROUP BY ID
HAVING SUM(CASE WHEN Status IN ('A', 'S') THEN 1 ELSE 0 END) = 0

代码再次悬挂在TopicName topic = TopicName.create(projectId, topicId); try { TopicAdminClient topicAdminClient = TopicAdminClient.create(); topicAdminClient.createTopic(topic); //HANG FOREVER }catch(Exception e){ e.printStackTrace(); }

我正在使用topicAdminClient.createTopic包与GCP Pub / Sub以及com.google.pubsub.v1一起使用。我尝试使用默认身份验证凭据以及使用服务帐户密钥设置com.google.cloud.pubsub.v1.TopicAdminClient。我不确定我做错了什么。任何人都可以帮我解决这个问题吗?

我发布消息的代码如下

GOOGLE_APPLICATION_CREDENTIAL

其中publishMessage定义如下

FileInputStream fis = new FileInputStream(new File("JSON file path"));
ApiFuture<String> messageId = publishMessage(publisher, 
ByteString.copyFrom(IOUtils.toByteArray(fis)));

其他信息: 我试图执行数据存储Java api,它正在无缝执行。也许问题只出现在Pubsub我猜。

1 个答案:

答案 0 :(得分:0)

好的,问题解决了。错误地我忘了在pom文件中提到包装类型。一旦我提到包装类型为jar(jar),它就开始工作了。