Prior to this commit, if the TaskExecutor configured in WebSocketMessageBrokerStats for the inboundChannelExecutor or outboundChannelExecutor was not a ThreadPoolTaskExecutor, a StringIndexOutOfBoundsException was thrown when attempting to parse the results of invoking toString() on the executor. The reason is that ThreadPoolTaskExecutor delegates to a ThreadPoolExecutor whose toString() implementation generates text containing "pool size = ...", and WebSocketMessageBrokerStats' getExecutorStatsInfo() method relied on the presence of "pool" in the text returned from toString(). This commit fixes this bug by ensuring that the text returned from toString() contains "pool" before parsing the text. If "pool" is not present in the text, getExecutorStatsInfo() now returns "unknown" instead of throwing a StringIndexOutOfBoundsException. Closes gh-27209 |
||
---|---|---|
.. | ||
src | ||
spring-websocket.gradle |