我最近正在建立一个使用Azure的项目,其中一部分涉及到请求一个令牌来访问REST API。我被告知令牌将在30分钟后过期,但调用API来获取新令牌并不是特别昂贵。我可以毫无问题地完成所有这些工作。但我很好奇Camel是否内置了任何东西,可以在无需显式调用以获取新令牌的情况下为我处理此问题?
rn0zuynd1#
我不知道有没有内置的东西,但是你可以有一个每25分钟运行一次的定时器路由,它请求一个令牌,并将其置于某种全局状态。
from("timer:getAuthToken?period=1500000") .to("http:myKeyServer/getKey") .process(new MyKeyProcessor()) // store in global state, static, spring, etc.
然后,任何需要密钥的路由都可以从全局状态中获取密钥,并在头部或交换属性中设置密钥。
1条答案
按热度按时间rn0zuynd1#
我不知道有没有内置的东西,但是你可以有一个每25分钟运行一次的定时器路由,它请求一个令牌,并将其置于某种全局状态。
然后,任何需要密钥的路由都可以从全局状态中获取密钥,并在头部或交换属性中设置密钥。