0

我的环境是:

servicemix 5.4.1 [system.properties 具有属性“hawtio.authenticationEnabled=false”]
jolokia 代理 1.6.2
独立 hawtio 2.10
apache camel 2.14.3

首先我启动 servicemix

然后我使用“java -jar jolokia-jvm-1.6.2-agent.jar list”查找karaf进程ID
和“java -jar jolokia-jvm-1.6.2-agent.jar --port 7777 start 21284”附加jolokia 到 karaf JVM

然后“java -jar hawtio-app-2.10.0.jar”启动独立的hawtio应用程序

当我转到我的骆驼路线的调试面板时,有一条消息

我正在使用蓝图 DSL

我的骆驼端点是

<camelcxf:cxfEndpoint
        id="cxfOrderEndpointService"
        wsdlURL="wsdl/order.wsdl"
        xmlns:s="http://order.camelinaction"
        address="/orderservice"
        serviceClass="camelinaction.order.OrderInterface"
        endpointName="s:orderServicePort"
        serviceName="s:orderService"/>

我的 CamelContext 是

<camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint" trace="true">
    <route>
        <from uri="cxf:bean:cxfOrderEndpointService"/>
        <log message="hello from OrderEndpointService"/>
        <to uri="bean:helloBean?method=Hello"/>
        <to uri="bean:helloBean?method=Bye"/>
        <process ref="helloProcessor"/>
    </route>
</camelContext>

请帮助我,解决这个问题,我真的找不到任何可以帮助我的信息。

4

2 回答 2

0

另一种方法是使用“Jolokia 作为 JVM 代理”

3.4. JVM 代理 JVM 代理是检测其他代理未涵盖的任意 Java 应用程序的正确代理。任何 Java 程序都可以通过向 JVM 提供某些启动选项来启动此代理

所以基本上在 servicemix.bat 中,其中定义了 DEFAULT_JAVA_OPTS,最后,添加以下内容:
-javaagent:jolokia-jvm-1.6.2-agent.jar=host=localhost,realm=karaf,authMode=jaas,debug=true,用户=karaf,密码=karaf,端口=8888

因此,您可以设置为领域参数和 authMode,这样 Jolokia 就可以正常工作,并且可以使用 Debug 和 Trace 功能。

于 2020-06-11T05:32:11.523 回答
0

自己找到了解决方案,即:

将 Hawtio 作为独立代理与 Jolokia OSGI 代理一起使用

  1. 从 - https://jolokia.org/download.html下载 Jolokia OSGI 代理 (获取最新的 Osgi-Agent(完整包))
  2. 从 - https://github.com/hawtio/hawtio/releases下载 Hawtio (获取最新信息)
  3. 运行 servicemix 或 karaf
  4. 将 Jolokia OSGI 代理安装到 karaf/servicemix 进程
  5. 在 %KARAF_HOME%/etc/org.jolokia.osgi.cfg 中创建配置文件
  6. 使用以下数据填充配置

    org.jolokia.user=karaf
    org.jolokia.password=karaf
    org.jolokia.agentContext=/jolokia
    org.jolokia.debug=true org.jolokia.realm=karaf
    org.jolokia.authMode=jaas

  7. 安装 Jolokia OSGI 包,在 karaf 控制台运行:osgi:install file:c:\Users\avazhenin\Downloads\jolokia-osgi-bundle-1.6.2.jar

  8. osgi:停止 %jolokia-osgi-gent%
  9. osgi:开始 %jolokia-osgi-gent%
  10. 在http://localhost:8181/jolokia下访问 Jolokia
  11. 运行 Hawtio web - java -jar hawtio-app-2.10.0.jar
  12. 打开http://localhost:8080/hawtio/jvm/discover(必须找到Jolokia代理)
  13. goto http://localhost:8080/hawtio/jvm/connect(已经找到代理了,按connect)
  14. Hawtio 菜单将被扩展,您将看到 Camel 等...选项(如果安装了骆驼功能)

问题是,Jolokia 独立代理无法在 karaf osgi 容器之外正常工作(至少我找不到解决方法),因为它需要上面提到的配置,而您不能在代理运行时提供(例如,不可能使用 java -jar 设置 Jolokia realm=karaf ....)

于 2020-06-09T15:49:34.370 回答