2016-03-15 24 views

回答

0

Afaik,你不能在當前版本的Camel中做到這一點。

但是,通過實現自定義WebSocketFactory,您可以訪問HttpServletRequest(其中包含升級到websocket的請求,包含所有參數,url等)。該請求是WebSocketFactory.newInstance的第一個參數。您可以通過調用request.getParameter(...)來訪問url查詢中的參數。

覆蓋默認WebSocketFactory不是「一條線配置」,但你已提出了這一個問題,我想你已經這樣做;-)

+0

我已經做到了這一點,但我沒有看到如何將這些數據從我寫的工廠或WebSocket實現中放入Exchange頭文件中。 –

+0

更新你的'WebSocket'實現的'connectionKey'以包含你想要的參數。這是一個字符串,所以你必須做一些解析/提取這些數據。這個連接密鑰與每個消息一起發送到路由,在頭部'WebsocketConstants.CONNECTION_KEY'中。說實話,你也許應該在camel list/jira上寫一個請求,因爲你正在訪問這個組件的一些內部對象,並且這個代碼可以在未來的駱駝版本中打破! –