【发布时间】:2020-12-16 10:37:45
【问题描述】:
我们有一个具有以下架构流程的传统普通 Java 应用程序
Facade ----> Corba 远程 IIOP 连接 --> ServiceCommands
我们想要转换为 SpringBeans(Spring Boot) 并从 MVCController 调用并公开为 RESTAPI 的以上架构
MVCController ---> Facade -->Corba Connection -->ServiceCommands
请告知每层要使用的 Bean 范围以及要遵循的最佳架构
- 外观类 Bean - Scope value="session"
- CorbaConnection 类 bean Scope value="session"
- ServiceClass bean Scope value="singleton"
【问题讨论】:
-
为什么它需要是单例以外的任何东西?他们保持状态吗?如果不使用默认值。
-
CorbaConnection 提交针对每个会话并保持连接状态。外观类可以注释为单例,因为它不维护状态。
-
哪个会话? Corba session != http session 或除非发生其他事情。您引入控制器/Web API 的事实不应该影响 facade-corba-commands 的东西。
-
它的 Corba 会话。我们需要将 corba 连接池化一些如何避免每个 http 请求的延迟,因为建立连接需要时间。但是,如果我们保持状态 corba 会话提交,则会出现并发问题。知道如何创建像 hikari 连接池这样的 corba 连接池。
-
CORBA 太早了。但是您可以尝试使用 commons-pool(作为通用对象池)来汇集 corba 连接/会话。
标签: spring spring-mvc corba