|
27 | 27 | import org.springframework.core.Ordered;
|
28 | 28 | import org.springframework.lang.Nullable;
|
29 | 29 | import org.springframework.messaging.Message;
|
| 30 | +import org.springframework.messaging.MessageHeaders; |
30 | 31 | import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
|
31 | 32 | import org.springframework.messaging.simp.user.DestinationUserNameProvider;
|
32 | 33 | import org.springframework.messaging.simp.user.SimpSession;
|
33 | 34 | import org.springframework.messaging.simp.user.SimpSubscription;
|
34 | 35 | import org.springframework.messaging.simp.user.SimpSubscriptionMatcher;
|
35 | 36 | import org.springframework.messaging.simp.user.SimpUser;
|
36 | 37 | import org.springframework.messaging.simp.user.SimpUserRegistry;
|
37 |
| -import org.springframework.messaging.support.MessageHeaderAccessor; |
38 | 38 | import org.springframework.util.Assert;
|
39 | 39 |
|
40 | 40 | /**
|
@@ -84,19 +84,16 @@ public boolean supportsEventType(Class<? extends ApplicationEvent> eventType) {
|
84 | 84 | public void onApplicationEvent(ApplicationEvent event) {
|
85 | 85 | AbstractSubProtocolEvent subProtocolEvent = (AbstractSubProtocolEvent) event;
|
86 | 86 | Message<?> message = subProtocolEvent.getMessage();
|
| 87 | + MessageHeaders headers = message.getHeaders(); |
87 | 88 |
|
88 |
| - SimpMessageHeaderAccessor accessor = |
89 |
| - MessageHeaderAccessor.getAccessor(message, SimpMessageHeaderAccessor.class); |
90 |
| - Assert.state(accessor != null, "No SimpMessageHeaderAccessor"); |
91 |
| - |
92 |
| - String sessionId = accessor.getSessionId(); |
| 89 | + String sessionId = SimpMessageHeaderAccessor.getSessionId(headers); |
93 | 90 | Assert.state(sessionId != null, "No session id");
|
94 | 91 |
|
95 | 92 | if (event instanceof SessionSubscribeEvent) {
|
96 | 93 | LocalSimpSession session = this.sessions.get(sessionId);
|
97 | 94 | if (session != null) {
|
98 |
| - String id = accessor.getSubscriptionId(); |
99 |
| - String destination = accessor.getDestination(); |
| 95 | + String id = SimpMessageHeaderAccessor.getSubscriptionId(headers); |
| 96 | + String destination = SimpMessageHeaderAccessor.getDestination(headers); |
100 | 97 | if (id != null && destination != null) {
|
101 | 98 | session.addSubscription(id, destination);
|
102 | 99 | }
|
@@ -137,7 +134,7 @@ else if (event instanceof SessionDisconnectEvent) {
|
137 | 134 | else if (event instanceof SessionUnsubscribeEvent) {
|
138 | 135 | LocalSimpSession session = this.sessions.get(sessionId);
|
139 | 136 | if (session != null) {
|
140 |
| - String subscriptionId = accessor.getSubscriptionId(); |
| 137 | + String subscriptionId = SimpMessageHeaderAccessor.getSubscriptionId(headers); |
141 | 138 | if (subscriptionId != null) {
|
142 | 139 | session.removeSubscription(subscriptionId);
|
143 | 140 | }
|
|
0 commit comments