Injecting Atmosphere components and factories using the javax.inject.Inject - Atmosphere/atmosphere Wiki

Starting with Atmosphere 2.3+, the Inject and PostConstruct annotation are natively supported. You can inject AtmosphereConfig, AtmosphereFramework, AtmosphereFramework, BroadcasterFactory, AtmosphereResourceFactory, MetaBroadcaster and AtmosphereResourceSessionFactory

        private AtmosphereConfig config;

        private AtmosphereFramework f;

        private AtmosphereResourceFactory resourceFactory;

        private BroadcasterFactory bFactory;

        private MetaBroadcaster m;

        private AtmosphereResourceSessionFactory sessionFactory;

You can also use CDI(jsr 330), Guice or Spring as well.

Request Scoped Injection (2.4.0+)

Injecting Broadcaster

You can inject Broadcaster by using the @Named

    private Broadcaster broadcaster;

Injecting AtmosphereResource, AtmosphereRequest, AtmosphereResponse and AtmosphereResourceEvent:

As simple as:

    private AtmosphereResource resource;

Injecting your own objects

If you are using 2.3.2+, you can also defines under META-INF/services/org.atmosphere.inject.Injectableclasses that implements the Injectable or InjectIntrospector interface so the AtmosphereObjectFactory can inject those objects into your application. For example, Atmosphere uses this mechanism to allow injection of the classes listed above.

You can also take a look at the chat sample for a super simple example of custom injection using the META-INF/services/org.atmosphere.inject.Injectable file.