Could you explain why the same service cannot be reused? I don't see any problem with it. All the default resolver specified here does, is map listener classnames to listener instances. It's completely separate from the entities themselves.