What is a girl to do?!

Advice is needed! I have been seeing a man for over three years now. I know I love him, we have great chemistry. But I can't get him to commit. He knows how I feel but he claims he's damaged and isn't ready for a relationship. I know he cares. I don't think you can spend years with somebody and not care for them at all. The other night, on my birthday, I was up in stage with him because he djs and I would catch him just staring at me. When he hugs me, they're the longest hugs and really emotional. I definitely know he cares or he wouldn't still be here but idk how much longer I can take the no relationship thing. I love him and don't want to let him go but this is really hard on me, emotionally. We've talked about it and he doesn't want to see me go. He's made that apparent. Any advice on what I should do???