【问题标题】:Share instance between Java App and Web App在 Java App 和 Web App 之间共享实例
【发布时间】:2015-11-18 11:45:59
【问题描述】:

我有一些个人项目,我试图在 webapp 和普通应用程序之间共享一些类实例。我的项目结构如下:
+ 普通应用
+ 网络应用
我从 NormalApp 启动应用程序,并使用 EmbeddedTomcat 包含了 WebApp。现在我在 WebApp 中有一个名为 Notifier 的类。我想在 NormalApp 中使用 Notifier 的实例而不会丢失它的状态。

谁能告诉我如何实现这个场景?

我有一些计划,比如将 Tomcat 类加载器设置为使用 Systems 类加载器。我尝试过,但无法实现。是不是我理解错了?

【问题讨论】:

    标签: java tomcat tomcat8 instances embedded-tomcat-8


    【解决方案1】:

    您是否尝试过像 Web 组件一样制作您的普通应用程序?所以当tomcat启动时你的应用程序将可用。并且您可以使用系统属性将参数传递给 tomcat。

    另一个选择是使用 Spring Boot。这里有教程

    https://spring.io/guides/gs/spring-boot/

    http://spring.io/guides/tutorials/bookmarks/

    【讨论】:

    • 嗨 Reos,我不能像我们组件那样移动普通应用程序。我的用例是让他们两个互相交流。你能告诉我如何传递系统变量以及我应该传递哪些变量吗?仅供参考,我的项目中根本没有弹簧。
    • 这个想法是你在启动你的tomcat的类中设置系统属性。这里有一个关于系统属性和环境变量的教程javamex.com/tutorials/misc-system/environment-variables.shtml
    • 您可以使用 System.setProperty("myProperty", value); 设置属性;
    • 嗨 Reos,我知道如何设置系统属性。我想了解的是制作tomcat,工作我们需要设置的所有属性
    • 我认为你可以在两个应用程序之间共享同一个类的实例。但是您可以在两个应用程序中拥有具有相同状态的同一类的两个实例。您可以使用属性文件来加载该类的状态,或者可以使用系统属性在应用程序启动时传递数据。或者,您可以在其中一个应用程序中只有一个类的实例,并通过服务公开功能。您还可以使用通用文件或数据库在两个应用程序之间共享数据。
    猜你喜欢
    • 2011-04-02
    • 2019-12-21
    • 1970-01-01
    • 2012-06-02
    • 2016-03-21
    • 2015-05-02
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多