1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.cdi.websocket;
20
21 import javax.enterprise.context.Destroyed;
22 import javax.enterprise.context.Initialized;
23 import javax.enterprise.event.Observes;
24 import javax.enterprise.inject.spi.AfterBeanDiscovery;
25 import javax.enterprise.inject.spi.BeforeBeanDiscovery;
26 import javax.enterprise.inject.spi.Extension;
27
28 import org.eclipse.jetty.cdi.websocket.annotation.WebSocketScope;
29 import org.eclipse.jetty.util.log.Log;
30 import org.eclipse.jetty.util.log.Logger;
31
32
33
34
35 public class WebSocketScopeExtension implements Extension
36 {
37 private static final Logger LOG = Log.getLogger(WebSocketScopeExtension.class);
38
39 public void addScope(@Observes final BeforeBeanDiscovery event)
40 {
41 if (LOG.isDebugEnabled())
42 {
43 LOG.debug("addScope()");
44 }
45
46 event.addScope(WebSocketScope.class,true,false);
47 }
48
49 public void registerContext(@Observes final AfterBeanDiscovery event)
50 {
51 if (LOG.isDebugEnabled())
52 {
53 LOG.debug("registerContext()");
54 }
55
56 event.addContext(new WebSocketScopeContext());
57 }
58
59 public void logWsScopeInit(@Observes @Initialized(WebSocketScope.class) org.eclipse.jetty.websocket.api.Session sess)
60 {
61 if (LOG.isDebugEnabled())
62 {
63 LOG.debug("Initialized @WebSocketScope - {}",sess);
64 }
65 }
66
67 public void logWsScopeDestroyed(@Observes @Destroyed(WebSocketScope.class) org.eclipse.jetty.websocket.api.Session sess)
68 {
69 if (LOG.isDebugEnabled())
70 {
71 LOG.debug("Destroyed @WebSocketScope - {}",sess);
72 }
73 }
74 }