Use service activators and messaging gateways to connect Java application code to asynchronous messaging systems without leaking transport concerns.
Message endpoints are where transport-oriented integration code meets ordinary Java application logic. Good endpoint design keeps that boundary explicit so business services do not absorb messaging-specific details.
These pages show how to expose or consume messaging behavior cleanly through activators and gateways rather than spreading broker APIs across the codebase.