我有一个用于记录目的的拦截器。现在我想为管理员提供启用/禁用日志记录的选项。我可以为此使用应用程序服务器参数,但我不知道如何在运行时访问它们。会为此创建一个 bean 或为该 bool 值创建一个生成器,并将其注入(inject)到我的拦截器中。
目前我正在使用 JBoss,但我可能会改用 Glassfish。有没有办法涵盖它们中的每一个?
最佳答案
嗯,启用/禁用日志记录通常是通过日志记录配置(设置日志级别)来完成的。
尽管您也可以使用 JMX 并在 MBeanServer 中注册您的 Bean,以便从 JBoss 外部调用您喜欢的任何方法(即通过 JConsole 或任何其他 JMX 客户端)。但请注意,每个 Bean 实例都必须注册,因此就 EJB 而言,可能有多个实例。我曾经通过为每个 SessionBean 使用一个 Singleton EJB 来解决这个问题,作为 MBean 服务/保存来自每个实例的参数和信息。
关于jakarta-ee - 吉/JBoss : Accessing application server parameters during runtime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22143890/