我们正在计划一个“REST”-Server,现在遇到了问题,我们希望不同的REST接口共享信息。
作为使事情更清楚的例子
- 我们有一个应用程序类,用于映射URL:“http://.../MyRESTApplication”(使用@ApplicationPath,扩展应用程序)
- 我们有接口 SessionMaker 映射... / MyRestApplication / SessionMaker并返回一个sessiontoken并将tokeni存储在 SessionMap
中
- 我们有intefrace DoThings 映射到... / MyRestApplication / doThings?= {token}
- 我们有一个类 SessionMap ,它应该存储令牌和时间戳。
此SessionMaker检查用户和密码是否正确,如果是,则返回sessiontoken(这样可行)。它应该将令牌存储在sessionMap中,以便DoThings可以访问它。但 DoThings 无法访问 SessionMap ,而是创建了一个新实例。
我们如何让 SessionMaker 和 DoThings 共享相同的 SessionMap -instance。
我有3个想法,但不知道哪些甚至适用。
- 在ApplicationClass中创建SessionMaker和Dothing单例(现在在getClasses中)。创建一个SessionMap实例并将其提供给两者。
- 尝试将其从Applicationcontext中删除,但我不知道如何。
- 将SessionMaker和DoThings合并为一个,但这会导致反模式“Blob”
醇>
我发现的唯一一个处理类似情况的问题是:
Jersey REST Server: instantiating resource classes