当前位置: 首页 > 知识库问答 >
问题:

如何将logback JMXConfigurator注册到WebSphere custom MBeanServer?

钮边浩
2023-03-14

我试着把<代码>

作为比较,web应用程序是使用spring boot构建的,默认情况下,spring boot也会注册一些MBean。我可以在这两种场景中看到spring boot的MBean。

我进一步调查了一下,发现logback总是从ManagementFactory.getPlatformMBeanServer()获取MBeanServer实例,而Spring在Webphere/Weblogic环境中使用不同的方法。

在Websphere环境中,为远程连接而公开的MBeanServer实例似乎不是默认的平台MBeanServer。

所以问题是,我如何将logback mbean注册到WebSphere custom MBeanServer,而不是默认的PlatformMBeanServer?

WebSphere自定义MBeanServer受到青睐,因为它与安全性和集群功能更好地集成。

共有1个答案

楚泳
2023-03-14

这是我通过扩展JMXConfigurator来解决的问题。

作为记录,没有任何文件支持这种扩展,我也没有用多个web应用程序测试它。

这个类继承了JMXConfigurator的大多数行为,但它将注册到由Spring注入的MBeanServer。

@ManagedResource(objectName = AnnotatedJMXConfigurator.NAME, description = "Logback Configuration Management Bean")
@Component
public class AnnotatedJMXConfigurator extends JMXConfigurator {

    public static final String NAME = "xxx.ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator";

    private static final LoggerContext CONTEXT = (LoggerContext) LoggerFactory.getILoggerFactory();

    private static final ObjectName OBJECT_NAME;

    static {
        try {
            OBJECT_NAME = new ObjectName(NAME);
        } catch (MalformedObjectNameException e) {
            throw new RuntimeException(e.getMessage(), e);
        }
    }

    @Autowired
    public AnnotatedJMXConfigurator(MBeanServer mbs) {
        super(CONTEXT, mbs, OBJECT_NAME);
    }
}
 类似资料:
  • 问题内容: 我已经在EC2上启动了2个ECS优化实例,但是如何将它们注册为ECS容器实例? 想不通一种方法。 问题答案: 创建EC2实例时,如果使用交互式ECS,则必须指定链接到ECS容器的IAM角色(如果使用SDK / …,则必须在参数中指定此角色的“实例配置文件ARN”)在aws网站上首次使用ECS时创建集群时,您应该已经有一个ecsInstanceRole链接到默认集群。 然后,启动后,您的

  • 要注册域名,需要通过域名注册商向名为ICANN的组织注册所需的域名。 例如,如果您选择“mydomain.com”这样的名称,则应该到注册服务商那里注册,注册费用每年约为50元人民币。 这将使您有权使用域名一年(可一次注册几年使用)。 如果超过一年需要续用,那么应该续费,支付差不多与第一年相同的费用。 一些网络主机允许您在那里购买了一个托管主机,然后免费注册域名,而一些注册商要求必须支付注册域名的

  • 我的注册成功。将向邮件发送通知,其中包含有关跟踪链接的请求的文本,然后激活帐户。一切都很好,但不可能将此文本转换为模板,以便将变量存储在其中,并将其发送到邮局,但我不知道如何从java代码中放置thymeleaf 使用者getUsername()用户。getActivationCode() 在我的例子中,它们以相同的形式返回,它们不会给出它们对应的用户的值 我的胸腺 我正在尝试通过上下文读取此文件

  • 11.2.1.将BootReceiver注册到Manifest文件 要将BootReceiver注册到系统,我们需要在Manifest文件中添加它的声明,还需要定义它的intent-filter,用以过滤出自己关心的事件。 例 11.2. AndroidManifest.xml: 在<application>标签之下 ... <receiver android:name=".BootReceive

  • 我想设置一个由多个步骤组成的用户注册。每个步骤将以条的形式突出显示。深灰色条将是完成的步骤,浅灰色条将是需要完成的步骤。似乎想不出这样做的方法。请建议。 我们可以在myfitnesspal注册中看到这一点。我在下图的红色框中突出显示了这一点。

  • 1、前往如流官网,点击右上角【企业注册】 2、根据指引填写信息,提交注册申请,只有认证审批通过后企业才注册成功,审批通过或拒绝将通过短信通知你,注册成功后你将成为企业创建人。 1)填写企业信息:真实的企业全称、行业类型、人员规模 2)选择主体类型:可选企业、政府/事业单位、其他组织 3)根据选择的主体类型上传所需的营业执照、组织机构代码证、事业单位法人证书、认证授权书等图片 4)填写创建人信息:真