2个REST接口如何共享实例

时间:2015-11-12 21:50:41

标签: java rest java-ee jax-rs

我们正在计划一个“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个想法,但不知道哪些甚至适用。

  1. 在ApplicationClass中创建SessionMaker和Dothing单例(现在在getClasses中)。创建一个SessionMap实例并将其提供给两者。
  2. 尝试将其从Applicationcontext中删除,但我不知道如何。
  3. 将SessionMaker和DoThings合并为一个,但这会导致反模式“Blob”
  4. 我发现的唯一一个处理类似情况的问题是: Jersey REST Server: instantiating resource classes

1 个答案:

答案 0 :(得分:0)

您应该使用EJB来实现此目的。