通过http服务器进行动态配置的java独立应用程序

u1ehiz5o  于 2021-07-05  发布在  Java
关注(0)|答案(4)|浏览(349)

我正在写一个独立的java应用程序。应用程序的属性应该可以从与应用程序一起部署的网页进行配置。我如何做到这一点?
提前谢谢
注意:该应用程序有一个嵌入式http客户机/服务器模块。它只能从命令提示符运行

2wnc66cl

2wnc66cl1#

您可以将您的独立java应用程序配置为从服务器上的属性文件(比如conf.properties)读取可配置属性。
您可能有一个包含所有要配置的字段的ui网页(html/jsp)。提交页面时,jsp/servlet可以写入/更新服务器上conf.properties的内容。
更新:假设只有管理员用户想要更新属性文件,上述解决方案就可以工作。如果任何人都应该能够更新它,那么并发问题必须考虑在内。
在这种情况下,您必须实现一种类似于weblogic10如何使用管理控制台更新config.xml的机制。
i、 e.您将有2个conf.properties文件confa和confb(最初是同步的)。独立应用程序将始终从confb读取。用户界面将有两个按钮说锁定和释放配置。当进行编辑(锁定和释放)时,它将写入confa,同时confa的更改必须复制到confb。

ijxebb2r

ijxebb2r2#

您可以使用jnlp文件(javawebstart)启动一个独立的java应用程序。如果希望用户能够在启动应用程序之前配置它,可以动态生成jnlp文件,然后通过jnlp文件将属性作为环境变量传递。

qqrboqgw

qqrboqgw3#

jmx可能是你想要的答案。如果您通过mbean公开所有可配置属性,那么在上面添加一个web页面公开这些属性就是配置。

34gzjxbg

34gzjxbg4#

我觉得这不是个好主意。网页表单设计用于服务器,而不是独立的客户端应用程序。你可以让应用程序运行它自己的web服务器,但这意味着应用程序必须运行配置页才能工作,而且它也是一个相当做作的设置只是为了做一些配置。
网页可能包含写入本地文件的javascript——我对javascript安全模型的了解还不够。
但是为什么不把配置对话框作为应用程序gui的一部分呢?这是正常和预期的行为-你需要一个非常令人信服的理由偏离它。

相关问题