在 Windows 上使用 JDK 1.4 监控 Tomcat 5.5

2023-12-02

根据这个文档http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html#Enabling_JMX_Remote应该可以远程监控在 JDK 1.4 上运行的 Tomcat 5.5 服务器,但在搜索了整个网络并尝试了多个操作系统之后,我仍然没有比第一天更进一步。 到目前为止我的结果是。使用标准设置 Tomcat

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=%my.jmx.port% 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=localhost

在 JDK 1.5 及更高版本上可以正常工作。 调试 Tomcat 使我可以访问 MBeanServer,但无法从外部连接到它。根据维基百科的信息http://en.wikipedia.org/wiki/Java_Management_Extensions我只需要一个工作连接器,但我不知道如何让它工作。

尝试根据以下内容设置 HTTP 适配器

<Connector port="${AJP.PORT}" 
            handler.list="mx" 
            mx.enabled="true" 
            mx.httpHost="${JMX.HOST}"
            mx.httpPort="${JMX.PORT}"
            protocol="AJP/1.3" />

完全没有效果。当我调试时,看起来属性 handler.list 和 mx.* 几乎被忽略了。我知道我应该只使用 JDK 1.5,这样我的担忧就会消失,但我们有大量 JDK 1.4 的遗留安装基础,如果我们可以使用 JMX 监控,那就太好了。 最终我想使用 JConsole 或 JVisualVM 连接到 Tomcat,据我所知,连接 URL 看起来像

service:jmx:rmi:///jndi/rmi://localhost:8888/jmxrmi

8888 是我的 JMX 端口。 如果有人对如何深入问题的根源有一些建议或想法,那将非常有帮助。


从 1.5 (JDK5) 开始,Java 中就添加了 JMX 支持。要与 JDK 1.4 一起使用,必须下载并安装扩展http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/download.jsp。我没有使用它,但这将是一个起点(从http://java.sun.com/developer/technicalArticles/J2SE/jmx.html )

JMX技术实现

Java 2 Platform, Standard Edition 5.0 (J2SE 5.0) 支持 JMX 1.2 和 JMX Remote API 1.0,后者现在是官方 JMX 参考实现 (RI)。对于运行 J2SE 1.4 的开发人员,Sun Microsystems 还提供 JMX RI,并且可以免费下载。

要从外部连接,请尝试移除线路

-Djava.rmi.server.hostname=localhost

如果您使用的是 Linux,请像 @vinothkr 所说的那样,解决 localhost 上的 JMX 远程连接问题(文件 /etc/hosts,将 127.0.0.1 替换为服务器主机名出现的行上的服务器 IP)。对于 Windows,我认为同样的事情也适用。

关于连接器,它是您阅读的文档上的jmx远程端口上的连接器。您在协议 AJP/1.3 上的 server.xml 上设置的连接器不相关。它涉及 Apache HTTPd(或其他 Web 服务器/负载均衡器)和 Tomcat 之间的通信。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上使用 JDK 1.4 监控 Tomcat 5.5 的相关文章

  • 如何克服原语按值传递的事实

    我有一段很长的代码来计算两个值 doubles 对我来说 我在几个地方使用了这段代码 为了坚持 DRY 原则 我应该将这段代码重构为一个很好的单元测试方法 但是我不能让它返回两个双精度数 而双精度数是原始的 因此不能按值传递和操作 我能想到
  • 在文本文件中写入多行(java)

    下面的代码是运行命令cmd并使用命令行的输出生成一个文本文件 下面的代码在 Eclipse 的输出窗口中显示了正确的信息 但在文本文件中只打印了最后一行 谁能帮我这个 import java io public class TextFile
  • java中如何连接字符串

    这是我的字符串连接代码 StringSecret java public class StringSecret public static void main String args String s new String abc s co
  • 在 S3 中迭代对象时出现“ConnectionPoolTimeoutException”

    我已经使用 aws java API 一段时间了 没有遇到太多问题 目前我使用的是库 1 5 2 版本 当我使用以下代码迭代文件夹内的对象时 AmazonS3 s3 new AmazonS3Client new PropertiesCred
  • Hazelcast 分布式锁与 iMap

    我们目前使用 Hazelcast 3 1 5 我有一个简单的分布式锁定机制 应该可以跨多个 JVM 节点提供线程安全性 代码非常简单 private static HazelcastInstance hInst getHazelcastIn
  • hibernate锁等待超时超时;

    我正在使用 Hibernate 尝试模拟对数据库中同一行的 2 个并发更新 编辑 我将 em1 getTransaction commit 移至 em1 flush 之后我没有收到任何 StaleObjectException 两个事务已成
  • Calendar.getInstance(TimeZone.getTimeZone("UTC")) 不返回 UTC 时间

    我对得到的结果真的很困惑Calendar getInstance TimeZone getTimeZone UTC 方法调用 它返回 IST 时间 这是我使用的代码 Calendar cal Two Calendar getInstance
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • 很好地处理数据库约束错误

    再一次 它应该很简单 我的任务是在我们的应用程序的域对象中放置一个具有唯一约束的特定字段 这本身并不是一个很大的挑战 我刚刚做了以下事情 public class Location more fields Column unique tru
  • 以编程方式在java的resources/source文件夹中创建文件?

    我有两个资源文件夹 src 这是我的 java 文件 资源 这是我的资源文件 图像 properties 组织在文件夹 包 中 有没有办法以编程方式在该资源文件夹中添加另一个 properties 文件 我尝试过这样的事情 public s
  • Java整数双除法混淆[重复]

    这个问题在这里已经有答案了 方案1 int sum 30 double avg sum 4 result is 7 0 not 7 5 VS 方案2 int sum 30 double avg sum 4 0 Prints lns 7 5
  • 测试弱引用

    在 Java 中测试弱引用的正确方法是什么 我最初的想法是执行以下操作 public class WeakReferenceTest public class Target private String value public Targe
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • Trie 数据结构 - Java [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库或文档 链接提供了在 java 中实现 Trie 数据结构的更多信息 任何帮助都会很棒 Thanks 你可以阅读Java特里树
  • ServletContainer 类未找到异常

    我无法再编译我的球衣项目 并且出现以下异常 GRAVE Servlet Project API threw load exception java lang ClassNotFoundException com sun jersey spi
  • 调整添加的绘制组件的大小和奇怪的摆动行为

    这个问题困扰了我好几天 我正在制作一个特殊的绘画程序 我制作了一个 JPanel 并添加了使用 Paint 方法绘制的自定义 jComponent 问题是 每当我调整窗口大小时 所有添加的组件都会 消失 或者只是不绘制 因此我最终会得到一个
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import

随机推荐

  • 如何更新 Tkinter 标签?

    我有一个简单的 tkinter GUI 其中有一个显示数字和按钮的标签 我将其设置为变量 x 当按下按钮时 x 的值增加 1 但是 当我点击按钮时 标签不会更新 我该怎么做呢 from tkinter import x 1 def add
  • Windows 7 图标大小问题

    我正在尝试创建一个应用程序图标 我拿了一堆创建的 ico 文件 每个大小一个 并将它们组合成一个 ico 文件 我可以看到他们都很好 我有 16x16 32x32 48x48 64x64 和 128x128 图标 全部 32 位 带透明度
  • SwiftUI - NavigationLink 不适用于按钮

    我正在制作一个应用程序 在其中输入两个数字 并希望在单击按钮时在第二个屏幕中显示数字的相加结果 我可以在控制台中打印结果 但不幸的是 按钮周围的导航链接似乎不起作用 如果我将 NavigationLink 放在按钮标签周围而不是整个按钮周围
  • 如何从 Node.js 以编程方式运行“yarn tag”?

    我想从node js 以编程方式运行yarn 命令 但找不到任何sdk 或cli 实用程序 唯一的事情就是产生一个新的进程 但这很麻烦 截至 2019 年 1 月 Yarn 尚无可直接调用的 API 你cannot需要 Yarn 并使用类似
  • 在 wxPython 中绘图的最佳画布?

    我必须绘制组成物理网络拓扑模型的元素图 会有节点和拱门 后者可以是单向的或双向的 我想捕获节点和拱门的单击事件 以选择元素并在某处显示其属性 以及节点 以移动它们 和拱门 以连接或断开元素 的拖动事件 我做了一些研究 并将替代方案缩小到OG
  • 创建 Visual Studio 扩展时如何获取“源代码管理历史记录”窗口中的选定项目?

    我开发了一个Visual Studio 扩展 我将一个按钮附加到源代码管理历史记录窗口的上下文菜单 菜单上有 变更集详细信息 比较 等 我需要得到选定的历史项目从窗户看 但不知道该怎么做 Update 我使用 Team Foundation
  • 无法从客户端设备通过 C# 表单应用程序访问我的 SQL Server

    我有一个 C 应用程序连接到我的计算机上的在线服务器 当我在 Visual Studio 中测试我的应用程序时 它工作正常 但是当我将应用程序提供给客户端时 它无法工作 我在代码中直接在单击按钮事件中使用此连接字符串 Data Source
  • _app.getInitialProps 不会在每个请求上调用

    我正在根据主机名设置主题 一切都在开发模式下运行 但我只是跑了npm run build我看到了getInitialProps在构建期间被调用 我找不到任何有关何时的信息 app s getInitialProps被叫 我构建了整个应用程序
  • Git 分支名称 - 区分大小写还是不区分大小写?

    我是一个新的 git 用户 最近需要照顾一个过时的 git 存储库 这是原始状态 由 git show branch 输出 cr232 CR 232 Release dev Style Changes dev Style Changes d
  • 将 ListBox.SelectedObjectCollection 转换为 ListBox.ObjectCollection?

    是否可以将 ListBox SelectedObjectCollection 转换为 C 中的 ListBox ObjectCollection 如果是这样 我该怎么办 我有一个接受的函数List
  • robots.txt 中没有索引

    我总是阻止谷歌使用 robots txt 文件为我的网站建立索引 最近我读到了谷歌员工的一篇文章 他说你应该使用元标签来做到这一点 这是否意味着 Robots txt 不起作用 由于我正在使用 CMS 我的选择非常有限 并且仅使用 robo
  • 在 C# 中操作 Word 2007 文档 XML

    我正在尝试用 C 操作 Word 2007 文档的 XML 我已经设法找到并操作我想要的节点 但现在我似乎不知道如何将其保存回来 这是我正在尝试的 Open the document from memoryStream Package pk
  • 为什么我必须在自执行匿名函数之前添加分号? [复制]

    这个问题在这里已经有答案了 大多数情况下 Javascript 允许我们在语句末尾省略分号 然而 有趣的是 在这种情况下并非如此 var x 5 asdf function window alert Yay 除非我们在 anon 函数之前的
  • iOS 8 - 无法安装企业应用程序

    我们公司有一个应用程序 可以使用 Enterprise Distribution 通过网站下载 在 iOS 8 Beta 5 中 点击下载链接会弹出预期的弹出窗口 网站 想要安装 应用程序名称 在该对话框上点击 安装 首先会导致应用程序陷入
  • 如何将 Android 上的 SQLite 数据库备份/恢复到 Dropbox

    我目前正在开发一个使用 SQLite 数据库的 Android 应用程序 我正在寻找如何在 Dropbox 等外部服务之间备份 恢复数据库的想法 我已经进行了一些解释 如下所示 Android备份 恢复 如何备份内部数据库 在android
  • 该方法必须返回 int 类型

    public int computeStyle String season if season equals summer if this style equals toque return 8 if this style equals s
  • 将目录附加到 Windows 中的 PATH 环境变量

    所以 我有这个批处理文件 据说它将我的脚本附加到路径变量中 echo OFF setx path path cd script py 但我遇到了一些问题 附加我的 script py 将导致路径大于 1024 个字符 从而输出警告 警告 保
  • 如何在 dagger 2.10 中创建自定义作用域模块

    我正在尝试将公司应用程序迁移到 dagger 2 10 和AndroidInjector inject方法 但我想我发现了一个问题 该应用程序使用自定义作用域 就像登录功能一样 它有 3 个活动 每个活动都有自己的 dagger 模块 和一
  • 为什么双重检查锁定中使用易失性

    From 头先设计模式手册中 具有双重检查锁定的单例模式已实现如下 public class Singleton private volatile static Singleton instance private Singleton pu
  • 在 Windows 上使用 JDK 1.4 监控 Tomcat 5.5

    根据这个文档http tomcat apache org tomcat 5 5 doc monitoring html Enabling JMX Remote应该可以远程监控在 JDK 1 4 上运行的 Tomcat 5 5 服务器 但在搜