如何 运行 两个 spring 在同一台服务器上启动应用程序?
How to run two spring boot applications on same server?
我有两个 Spring 启动应用程序。我希望它们同时在服务器上的不同端口上 运行,现在我正在我的计算机上本地测试它,当我 运行 两个罐子和我正在使用一个应用程序时,另一个会刷新并注销。我不能同时使用这两个应用程序。
这是嵌入式服务器的问题,spring 引导还是其他问题?我已经阅读了几篇文章,但我不确定为什么会这样或如何以最佳方式解决这个问题。我应该使用 Apache Tomcat 将这两个应用程序打包为 WAR 和 运行,还是有使用 spring 引导和 jar 打包的最新方法?
会话基于 cookie,cookie 是根据名称和主机名保存的。例如,如果您是 运行 两个 spring 启动或 tomcat 应用程序并尝试连接这两个应用程序:
- 对于第一个应用程序(localhost:8080 中的运行),默认使用名称 JSESSIONID 和主机 localhost
创建一个会话
- 对于第二个应用程序(运行 in localhost:8090),默认使用名称 JSESSIONID 和主机 localhost 创建一个会话,这将使第一个应用程序无效。
您可以:
- 更改 url(例如 app1:8080 和 app2:8090)。
- 根据您的 architecture/server 更改会话 cookie 名称。对于 Spring 引导,您可以这样更改它:server.servlet.session.cookie.name = ANOTHERSESSIONID
我有两个 Spring 启动应用程序。我希望它们同时在服务器上的不同端口上 运行,现在我正在我的计算机上本地测试它,当我 运行 两个罐子和我正在使用一个应用程序时,另一个会刷新并注销。我不能同时使用这两个应用程序。
这是嵌入式服务器的问题,spring 引导还是其他问题?我已经阅读了几篇文章,但我不确定为什么会这样或如何以最佳方式解决这个问题。我应该使用 Apache Tomcat 将这两个应用程序打包为 WAR 和 运行,还是有使用 spring 引导和 jar 打包的最新方法?
会话基于 cookie,cookie 是根据名称和主机名保存的。例如,如果您是 运行 两个 spring 启动或 tomcat 应用程序并尝试连接这两个应用程序:
- 对于第一个应用程序(localhost:8080 中的运行),默认使用名称 JSESSIONID 和主机 localhost 创建一个会话
- 对于第二个应用程序(运行 in localhost:8090),默认使用名称 JSESSIONID 和主机 localhost 创建一个会话,这将使第一个应用程序无效。
您可以:
- 更改 url(例如 app1:8080 和 app2:8090)。
- 根据您的 architecture/server 更改会话 cookie 名称。对于 Spring 引导,您可以这样更改它:server.servlet.session.cookie.name = ANOTHERSESSIONID