Spoilers for 'Ancient History'
He had always wanted a son. When he had traveled into the future and saw Rex, he knew it would be true. He was still in love with Shayera. He had always been and always will be. But…
There was Vixen. He didn't want to be 'That Guy' who just left her without a valid reason. And considerering Shayera had returned, everyone would know why.
A year passed. Shayera met Carter Hall, who claimed he and Shayera were resurrected lovers from years past. He was jealous. He knew it. She did too.
Then, he found out about his past. He was resurrected as well. He had been with Shayera in the past, but it had been Chay-era and Ba-shari instead of John and Shayera.
And John knew he wan't going to play destiny's bitch.