45
45
*/
46
46
class WebSocketNamespaceUtils {
47
47
48
-
49
48
public static RuntimeBeanReference registerHandshakeHandler (Element element , ParserContext context , Object source ) {
50
49
RuntimeBeanReference handlerRef ;
51
50
Element handlerElem = DomUtils .getChildElementByTagName (element , "handshake-handler" );
@@ -62,7 +61,7 @@ public static RuntimeBeanReference registerHandshakeHandler(Element element, Par
62
61
return handlerRef ;
63
62
}
64
63
65
- public static RuntimeBeanReference registerSockJsService (Element element , String sockJsSchedulerName ,
64
+ public static RuntimeBeanReference registerSockJsService (Element element , String schedulerName ,
66
65
ParserContext context , Object source ) {
67
66
68
67
Element sockJsElement = DomUtils .getChildElementByTagName (element , "sockjs" );
@@ -79,7 +78,7 @@ public static RuntimeBeanReference registerSockJsService(Element element, String
79
78
scheduler = new RuntimeBeanReference (customTaskSchedulerName );
80
79
}
81
80
else {
82
- scheduler = registerSockJsScheduler ( sockJsSchedulerName , context , source );
81
+ scheduler = registerScheduler ( schedulerName , context , source );
83
82
}
84
83
sockJsServiceDef .getConstructorArgumentValues ().addIndexedArgumentValue (0 , scheduler );
85
84
@@ -94,7 +93,6 @@ public static RuntimeBeanReference registerSockJsService(Element element, String
94
93
}
95
94
else if (handshakeHandler != null ) {
96
95
RuntimeBeanReference handshakeHandlerRef = new RuntimeBeanReference (handshakeHandler .getAttribute ("ref" ));
97
-
98
96
RootBeanDefinition transportHandler = new RootBeanDefinition (WebSocketTransportHandler .class );
99
97
transportHandler .setSource (source );
100
98
transportHandler .getConstructorArgumentValues ().addIndexedArgumentValue (0 , handshakeHandlerRef );
@@ -106,7 +104,9 @@ else if (handshakeHandler != null) {
106
104
String allowedOriginsAttribute = element .getAttribute ("allowed-origins" );
107
105
List <String > allowedOrigins = Arrays .asList (StringUtils .tokenizeToStringArray (allowedOriginsAttribute , "," ));
108
106
sockJsServiceDef .getPropertyValues ().add ("allowedOrigins" , allowedOrigins );
109
- interceptors .add (new OriginHandshakeInterceptor (allowedOrigins ));
107
+ RootBeanDefinition originHandshakeInterceptor = new RootBeanDefinition (OriginHandshakeInterceptor .class );
108
+ originHandshakeInterceptor .getPropertyValues ().add ("allowedOrigins" , allowedOrigins );
109
+ interceptors .add (originHandshakeInterceptor );
110
110
sockJsServiceDef .getPropertyValues ().add ("handshakeInterceptors" , interceptors );
111
111
112
112
String attrValue = sockJsElement .getAttribute ("name" );
@@ -156,7 +156,7 @@ else if (handshakeHandler != null) {
156
156
return null ;
157
157
}
158
158
159
- private static RuntimeBeanReference registerSockJsScheduler (String schedulerName , ParserContext context , Object source ) {
159
+ public static RuntimeBeanReference registerScheduler (String schedulerName , ParserContext context , Object source ) {
160
160
if (!context .getRegistry ().containsBeanDefinition (schedulerName )) {
161
161
RootBeanDefinition taskSchedulerDef = new RootBeanDefinition (ThreadPoolTaskScheduler .class );
162
162
taskSchedulerDef .setSource (source );
@@ -174,7 +174,7 @@ public static ManagedList<? super Object> parseBeanSubElements(Element parentEle
174
174
ManagedList <? super Object > beans = new ManagedList <Object >();
175
175
if (parentElement != null ) {
176
176
beans .setSource (context .extractSource (parentElement ));
177
- for (Element beanElement : DomUtils .getChildElementsByTagName (parentElement , new String [] { "bean" , "ref" } )) {
177
+ for (Element beanElement : DomUtils .getChildElementsByTagName (parentElement , "bean" , "ref" )) {
178
178
beans .add (context .getDelegate ().parsePropertySubElement (beanElement , null ));
179
179
}
180
180
}
0 commit comments