我想运行一个弹簧启动应用程序,但让它在多个端口上侦听.
目的是让Apache能够将多个(子)域转发到不同端口上的spring boot应用程序(Tomcat).例:
example.com/** -> PORT 8080
client.example.com/** -> PORT 8090
employee.example.com/** -> PORT 8100
Run Code Online (Sandbox Code Playgroud)
据我从SO上的几个线程理解,我最好@SpringBootApplication从一个主类中启动多个Annotated类,对吧?(/sf/answers/1810909271/)
我还没有掌握的是如何分别配置这些应用程序中的每一个.
假设我已经启动了这三个应用程序,如上面的链接帖子所示:
MainExampleApplication
ClientExampleApplication
EmployeeExampleApplication
Run Code Online (Sandbox Code Playgroud)
现在,例如,我希望为@Configuration这些应用程序中的每一个提供单独的Spring Security 类,以及@RequestMappings可能具有相同值的(例如"/").
如何告诉@Configuration或@Controller分类他们被分配到哪个应用程序?
或者是否有可以在启动时传递给应用程序的属性以指定哪些资源负责上下文?
我希望我不会在这里走错路.我确实有使用Spring MVC的经验,并且已经配置了一些相当简单的Spring应用程序 - 但是没有多个上下文.如果有人能带领我朝着正确的方向前进,我会感到非常高兴.先感谢您.
UPDATE
正如iamiddy的回答和xeon的评论中提到的那样,我使用了Spring Profiles.我提供一个轮廓SpringApplicationBuilder我的每个应用程序上下文的启动和使用@Profile("some_profile")上@Components应该只提供给一些上下文.
我正在使用react-native-router-flux。
我知道可以通过hideNavbar在各个场景上使用来显示/隐藏每个场景的导航栏,如下所示:
const scenes = Actions.create(
<Scene key="root">
<Scene key="main" component={mainComponent} initial={true} hideNavBar={true}/>
<Scene key="secondary" component={secondaryComponent} hideNavBar={false} />
</Scene>
);
Run Code Online (Sandbox Code Playgroud)
我需要根据当前场景的状态动态地打开/关闭导航栏。
自述文件说:
高度可定制的导航栏 - 根据场景甚至场景的状态显示/隐藏导航栏(例如,编辑/保存导航栏用于编辑模式)。
我没有找到任何详细的说明。任何人都可以请提供建议或提供示例链接吗?
谢谢!