У меня есть следующий маршрут:
<camel:camelContext id="convert">
<camel:route>
<camel:from uri="restlet:/convert/{id}"/>
<camel:transform>
<camel:groovy>
request.headers.id
</camel:groovy>
</camel:transform>
</camel:route>
</camel:camelContext>
Этот маршрут должен просто возвращать значение, переданное в URL-адресе в качестве параметра id. Когда я выполняю это, работает первый вызов. Все, что после первого вызова, возвращает значение, переданное при первом вызове. Таким образом, если первый вызов — hostname/convert/999, любой другой вызов вернет 999 независимо от того, какой идентификатор передается в URL-адресе. Похоже, groovy выполняет какие-то действия с сохранением состояния, которых я не понимаю.
Какие-нибудь мысли?
Похоже, то же самое происходит и с JavaScript.
<camel:camelContext id="convert">
<camel:route>
<camel:from uri="restlet:/convert/{id}"/>
<camel:transform>
<camel:javaScript>request.headers.get('id')</camel:javaScript>
</camel:transform>
</camel:route>
</camel:camelContext>