我有一个基于Grizzly NIO的简单服务器。我按照以下方式开始/关闭它,请注意关闭方法附近的注释:
{
"response": [
1000,
{
"id": ,
"date": ,
"owner_id": ,
"from_id": ,
"post_type": "post",
"text": "blabla",
"attachment": {
"type": "photo",
"photo": {
"pid": ,
"aid": -7,
"owner_id":
}
},
"attachments": [
{
"type": "photo",
"photo": {
}
},
{
"type": "link",
"link": {
"url": "",
"title": "",
"description": "",
"target": "external"
}
}
],
"post_source": {
"type": "vk"
},
"comments": {
"count": 0,
"groups_can_post": true,
"can_post": 1
},
},
{
"id": ,
"date": ,
"owner_id": ,
"from_id": ,
"post_type": "post",
"text": "blabla",
"attachment": {
"type": "link",
"link": {
"url": "",
"title": "",
"description": "",
"target": "external",
"
}
当我终止服务器时,它会立即关闭,因为永远不会达到server.shutdown()行而不是正常的方式。就是说,我试图实现一个关闭钩子,但它也没有被调用。我怀疑我的join()实现但不确定。任何帮助实现优雅关闭将不胜感激。
答案 0 :(得分:1)
Thread.currentThread().join()
将永远封锁。它正在等待自己完成,但无法完成,因为它正在等待自己完成。