2016-04-26 5 views
1

У меня есть маршрут, который взаимодействует с 4 точками http. первая конечная точка http - это служба авторизации, из которой я получу один токен аутентификации. Я хочу, чтобы один раз я получил токен из службы авторизации, я передам токен каждой дополнительной http-службе в заголовке. так как я могу это достичь? существует ли способ создания временной переменной с использованием значения токена, и если я могу разместить его в контексте, то в любой конечной точке я могу его установить. или еще я думал, могу ли я вызвать службу авторизации один раз при запуске приложения один раз и где-то хранить токен, и я могу его использовать.как создать временную переменную в контексте верблюда для последующего использования на маршруте

ответ

0

Вы можете сохранить свойства на вашем объекте обмена:

http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Exchange.html#setProperty(java.lang.String,%20java.lang.Object)

К примеру, в моем "трубопровод" Я храню ID из базы данных для последующего использования:

from("quartz2://myScheduler?cron=0+0+6,14,22+*+*+?") 
    .to("sql:" + getNextID() + "?dataSource=#dataSource&outputType=SelectOne") 
    .setProperty("NextID", simple("${body[id]}")) 

Затем NextID можно получить из обмена exchange.getProperty("NextID")

 Смежные вопросы

  • Нет связанных вопросов^_^