Skip to content

Commit 4a13dac

Browse files
authored
Merge pull request #1867 from bstansberry/UNDERTOW-2681
[UNDERTOW-2681] In MessageHandlers for annotated methods set the TCCL…
2 parents 93a46f9 + 421f6d8 commit 4a13dac

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,16 @@ public void onMessage(Object partialMessage, boolean last) {
115115
params.put(method.getMessageType(), partialMessage);
116116
params.put(boolean.class, last);
117117
final Object result;
118+
final ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
118119
try {
119-
result = method.invoke(instance.getInstance(), params);
120+
Object invokeTarget = instance.getInstance();
121+
Thread.currentThread().setContextClassLoader(invokeTarget.getClass().getClassLoader());
122+
result = method.invoke(invokeTarget, params);
120123
} catch (Throwable e) {
121124
AnnotatedEndpoint.this.onError(session, e);
122125
return;
126+
} finally {
127+
Thread.currentThread().setContextClassLoader(oldCL);
123128
}
124129
sendResult(result, session);
125130
}
@@ -138,11 +143,16 @@ public void onMessage(Object partialMessage) {
138143
params.put(Map.class, session.getPathParameters());
139144
params.put(method.getMessageType(), partialMessage);
140145
final Object result;
146+
final ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
141147
try {
142-
result = method.invoke(instance.getInstance(), params);
148+
Object invokeTarget = instance.getInstance();
149+
Thread.currentThread().setContextClassLoader(invokeTarget.getClass().getClassLoader());
150+
result = method.invoke(invokeTarget, params);
143151
} catch (Exception e) {
144152
AnnotatedEndpoint.this.onError(session, e);
145153
return;
154+
} finally {
155+
Thread.currentThread().setContextClassLoader(oldCL);
146156
}
147157
sendResult(result, session);
148158
}

0 commit comments

Comments
 (0)