Give obedience classes a chance to work for him and you. Your trainer will be able to tell by observing his reactions to the other dogs, where his behaviour is coming from. And then he can give you specific exercises/work to do with your dog to address the issue.
Also believe it or not, training in obedience is tiring for the dog