- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试让示例 JMX MXBean 在 Spring 配置的 Web 应用程序中工作,但是当我连接到 jconsole 时,MXBean 上的任何基本属性都显示为未定义。
Java 接口(interface)/类:
public interface IJmxBean { // marker interface for spring config, see below
}
public interface MgmtMXBean { // lexical convention for MXBeans - mgmt interface
public int getAttribute();
}
public class Mgmt implements IJmxBean, MgmtMXBean { // actual JMX bean
private IServiceBean serviceBean; // service bean injected by Spring
private int attribute = 0;
@Override
public int getAttribute() {
if(serviceBean != null) {
attribute = serviceBean.getRequestedAttribute();
}
return attribute;
}
public void setServiceBean(IServiceBean serviceBean) {
this.serviceBean = serviceBean;
}
}
Spring JMX 配置:
<beans>
<context:component-scan base-package="...">
<context:include-filter type="assignable" expression="...IJmxBean" />
</context:component-scan>
<context:mbean-export />
</beans>
这是我目前所知道的:
该元素正确地实例化了一个名为“mgmt”的 bean。我已经登录了一个零参数公共(public)构造函数,表明它已构建。
正确地自动检测 MgmtMXBean 接口(interface)并将其注册到我的 Tomcat 6.0 容器。我可以使用 jconsole 连接到 Tomcat 中的 MBeanServer,并深入到 Mgmt MXBean。
检查 MXBean 时,“Attribute”总是列为 UNDEFINED,但 jconsole 可以告诉属性的正确类型。此外,在 jconsole 中点击“刷新”实际上并没有调用“属性”的 getter 方法 - 我已经登录了 getter 方法以指示它是否被调用(类似于有效的构造函数日志记录)并且我在日志中看不到任何内容.
此时我不确定自己做错了什么。我已经尝试了很多方法,包括构造一个显式的 Spring MBeanExporter 实例并手动注册 MXBean,但它要么导致 MBean/MXBean 未注册到 Tomcat 的 MBean 服务器,要么导致属性值为 UNDEFINED。
出于各种原因,我宁愿不必使用 Spring 的 @ManagedResource/@ManagedAttribute 注释。
我在 Spring 文档或 MBean/MXBean 规范中遗漏了什么吗?
最佳答案
问题已解决:感谢 Jon Stevens(上文)的提示,我回去重新检查了我的代码和 Spring 配置文件:
在 getAttribute()
中抛出异常方法是使“不可用”在 JConsole 中显示为属性值的可靠方法。就我而言:
default-autowire=""
根上的属性 <beans>
元素;serviceBean != null
.显然我在 stackoverflow.com 上写的代码比我的测试代码要好,因为我的测试代码没有检查它。我也没有 implements InitializingBean
或 @PostConstruct
检查 serviceBean != null
就像我通常对我使用的几乎所有其他 bean 类所做的那样;一旦我用 serviceBean == null
解决了问题,一切都很完美。无论如何,为 Jon 提供工作演示 +1,因为实际上有 50 种不同的方法可以在 Spring 中配置 MBean/MXBeans。
关于java - JMX MXBean 属性全部未定义 - Spring 3.0.x/Tomcat 6.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759972/
注意:根据 ECMAScript5.1, section 15.1.1.3 , window.undefined 是只读的。 现代浏览器正确地实现了这一点。例如:Safari 5.1、Firefox
我用谷歌搜索,检查了所有常见的响应。这些脚本似乎顺序正确(它们在 the demo 中以相同的顺序工作)但由于某种原因,当我尝试实现它时,我得到了错误。 我有一个 paste bin用我完整的页面代码
我有以下代码: simpleExample.html: Simple example Open the Console. js/simpleExampleJS.
所以我对 typescript 很陌生。 这是我的 tsconfig.json 文件的样子, 我什至不知道那些“例子”是从哪里来的 这是我在浏览器中遇到的错误 这是我的 package.json 最佳
我被 TypeScript 错误困住了: Failed to compile. undefined TypeScript error in undefined(undefined,undefined)
我已将 onlcick 事件附加到表单的提交按钮以覆盖默认的 POST 请求,但在使其正常工作时遇到了一些问题。 我想要的是点击添加到购物车的商品,但只显示模式确认而不刷新页面。 这段代码在我的静态示
我已经完成了这个link .但是给定的解决方案并没有解决我的问题。所有经验丰富的人都建议使用 getActivty().getApplicationContext()。但我使用的是普通类(class)
我有一个应用程序,其中 webpack 配置为模块 bundler ,babel 作为我的 js 编译器。全部都在 Node 引擎上。我设置当我运行 npm run dev 时,将会发生以下流程: w
我正在尝试在浏览器中呈现网址的 JSON 数据,但它在 div 中显示为 undefined, undefined .当我将其响应放入console.log时对象及其数据出现,因此它出现在控制台和浏览
为什么我会收到 Cannot invoke an object which is possibly 'undefined'即使在我检查了 func 之后,Typescript 也会出错引用不是未定义的
我想使用airbnb的eslint修改我的代码结构。我已遵循 eslint-config-airbnb 中给出的说明。启动命令后npm run lint,结果由 'fetch' is not Defi
这个问题在这里已经有了答案: What is the consequence of this bit of javascript? (4 个答案) 关闭 9 年前。 我看到一些 jQuery 脚本嵌
我一直收到这个 pouchDB 错误,我不知道这是怎么回事。 Error: connect ENFILE 127.0.0.1:5984 - Local (undefined:undefined)
import os from os.path import abspath, dirname import sys # Set up django project_dir = abspath(dirn
在 javascript 中,要检查变量是否从未创建过,我们只需执行 if (typeof MyVariable !== "undefined"){ ... } 我想知道如何在 CoffeeScrip
我正在尝试编译 FreeLing,它使用 CMake 来检测 Boost。这是负责它的代码: find_package(Boost COMPONENTS regex filesystem thre
我收到“JQUERY 未定义”错误。你有什么想法吗(代码如下)。 $(document).ready(function() { window.print();
无论我是否将 jQuery $.ajax 调用放入 $(document).ready(function() { 中,我都会收到此错误。这是在 ASP.NET MVC .cshtml 文件上.
我正在构建的网站上遇到问题,但数据表不存在加载(在服务器上)但在本地主机(xamp)上工作正常。 Firefox 会抛出错误“$ 未定义”。 我用谷歌搜索了这些错误,我发现一个 friend 的解决方
当我在 $(document).ready 之前明确包含 jQuery 库时,我无法弄清楚为什么它仍然无法识别 jQuery 语法
我是一名优秀的程序员,十分优秀!