Jakarta ee 使用命令行更改活动J2EE服务器中应用程序中的变量,而不执行s/s

Jakarta ee 使用命令行更改活动J2EE服务器中应用程序中的变量,而不执行s/s,jakarta-ee,ejb,glassfish-4.1,Jakarta Ee,Ejb,Glassfish 4.1,我在glassfish服务器上部署了一个EJB应用程序。使用命令行,我希望在不执行任何停止-启动操作的情况下更改live server中某些静态变量的值。有没有办法做到这一点。您不能直接更改正在运行的应用程序的代码,因此需要一个接口。一个可能的接口可以是数据库。如果带有静态变量的类从数据库中读取值,那么您可以创建一个小型java客户端来更新数据库中的值(根据SQL update语句)通过这种方式,您可以按命令行调用客户端,并在命令行上按参数指定新值。您无法直接更改正在运行的应用程序的代码,因此需

我在glassfish服务器上部署了一个EJB应用程序。使用命令行,我希望在不执行任何停止-启动操作的情况下更改live server中某些静态变量的值。有没有办法做到这一点。

您不能直接更改正在运行的应用程序的代码,因此需要一个接口。一个可能的接口可以是数据库。如果带有静态变量的类从数据库中读取值,那么您可以创建一个小型java客户端来更新数据库中的值(根据SQL update语句)通过这种方式,您可以按命令行调用客户端,并在命令行上按参数指定新值。

您无法直接更改正在运行的应用程序的代码,因此需要一个接口。一个可能的接口可以是数据库。如果带有静态变量的类从数据库中读取值,那么您可以创建一个小型java客户端来更新数据库中的值(根据SQL update语句)通过这种方式,您可以按命令行调用客户机,并在命令行上按参数指定新值。

在现有应用程序中无法做到这一点*

您需要自己设计和实现一种机制来完成这项工作

可能的技术包括:

  • 定期检查属性文件并在其更改时重新加载
  • 定期检查数据库表并重新加载
  • 将该值存储在JNDI中,并在每次需要该值时查找它

*如果您完全绝望,您可以一直在调试模式下运行,并根据需要通过在适当的断点处停止应用程序来更改内存中的值。

在现有应用程序中无法做到这一点*

您需要自己设计和实现一种机制来完成这项工作

可能的技术包括:

  • 定期检查属性文件并在其更改时重新加载
  • 定期检查数据库表并重新加载
  • 将该值存储在JNDI中,并在每次需要该值时查找它

*如果您完全绝望,您可以一直在调试模式下运行,并根据需要通过在适当的断点处停止应用程序来更改内存中的值。

但是我如何在实时服务器中运行该客户端文件。如果您能够直接连接到数据库,则不必在服务器中运行该客户端,但它将足够将其作为独立客户端(jar)运行了。但如何在实时服务器中运行该客户端文件。如果您能够直接连接到数据库,则不必在服务器中运行该客户端,但作为独立客户端(jar)运行就足够了。