Hawtio camel 调试面板显示 "Debugging is not allowed for this user"
Hawtio camel debug panel says "Debugging is not allowed for this user"
我的环境是:
servicemix 5.4.1 [system.properties 有 属性 "hawtio.authenticationEnabled=false"]
jolokia 代理 1.6.2
独立的 hawtio 2.10
阿帕奇骆驼 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
我的 Camel 端点是
<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>
请帮助我,为了解决这个问题,我真的找不到任何可以帮助我的信息。
自己找到解决方案,即:
将 Hawtio 作为独立代理与 Jolokia OSGI 代理一起使用
- 从 - 下载 Jolokia OSGI 代理
https://jolokia.org/download.html(获取最新的 Osgi-Agent(完整包))
- 从 - https://github.com/hawtio/hawtio/releases 下载 Hawtio(获取最新版本)
- 运行 servicemix 或 karaf
- 将 Jolokia OSGI 代理安装到 karaf/servicemix processm
- 在 %KARAF_HOME%/etc/org.jolokia.osgi.cfg
创建配置文件
使用以下数据填充配置
org.jolokia.user=卡拉夫
org.jolokia.password=卡拉夫
org.jolokia.agentContext=/约洛基亚
org.jolokia.debug=真
org.jolokia.realm=卡拉夫
org.jolokia.authMode=贾斯
在 karaf 控制台中安装 Jolokia OSGI 包 运行 : osgi:install
file:c:\Users\avazhenin\Downloads\jolokia-osgi-bundle-1.6.2.jar
- osgi:停止 %jolokia-osgi-gent%
- osgi:启动 %jolokia-osgi-gent%
- 在 http://localhost:8181/jolokia
下访问 Jolokia
- 运行 Hawtio 网络 - java -jar hawtio-app-2.10.0.jar
- 打开http://localhost:8080/hawtio/jvm/discover(Jolokia代理必须
被发现)
- goto http://localhost:8080/hawtio/jvm/connect(已经必须
找到代理,按连接)
- Hawtio 菜单将被扩展,您将看到 Camel 等...选项
(如果安装了骆驼功能)
问题是,Jolokia 独立代理无法在 karaf osgi 容器外正常工作(至少我找不到解决办法),因为它需要上面提到的配置,你不能在代理 运行time(例如,无法使用 java -jar .... 设置 Jolokia realm=karaf ....)
另一种方法是使用 "Jolokia as JVM Agent"
3.4。 JVM代理
当涉及检测其他代理未涵盖的任意 Java 应用程序时,JVM 代理是正确的代理。通过向 JVM
提供某些启动选项,任何 Java 程序都可以启动此代理
所以基本上在 servicemix.bat 中定义了 DEFAULT_JAVA_OPTS,在末尾添加以下内容:
-javaagent:jolokia-jvm-1.6.2-agent.jar=host=localhost,realm=karaf,authMode=jaas,debug=true,user=karaf,password=karaf,port=8888
因此,您可以设置 realm 参数和 authMode,这样 Jolokia 就可以正常工作,并且可以使用 Debug 和 Trace 功能。
我的环境是:
servicemix 5.4.1 [system.properties 有 属性 "hawtio.authenticationEnabled=false"]
jolokia 代理 1.6.2
独立的 hawtio 2.10
阿帕奇骆驼 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
我的 Camel 端点是
<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>
请帮助我,为了解决这个问题,我真的找不到任何可以帮助我的信息。
自己找到解决方案,即:
将 Hawtio 作为独立代理与 Jolokia OSGI 代理一起使用
- 从 - 下载 Jolokia OSGI 代理 https://jolokia.org/download.html(获取最新的 Osgi-Agent(完整包))
- 从 - https://github.com/hawtio/hawtio/releases 下载 Hawtio(获取最新版本)
- 运行 servicemix 或 karaf
- 将 Jolokia OSGI 代理安装到 karaf/servicemix processm
- 在 %KARAF_HOME%/etc/org.jolokia.osgi.cfg 创建配置文件
使用以下数据填充配置
org.jolokia.user=卡拉夫
org.jolokia.password=卡拉夫
org.jolokia.agentContext=/约洛基亚
org.jolokia.debug=真 org.jolokia.realm=卡拉夫
org.jolokia.authMode=贾斯在 karaf 控制台中安装 Jolokia OSGI 包 运行 : osgi:install file:c:\Users\avazhenin\Downloads\jolokia-osgi-bundle-1.6.2.jar
- osgi:停止 %jolokia-osgi-gent%
- osgi:启动 %jolokia-osgi-gent%
- 在 http://localhost:8181/jolokia 下访问 Jolokia
- 运行 Hawtio 网络 - java -jar hawtio-app-2.10.0.jar
- 打开http://localhost:8080/hawtio/jvm/discover(Jolokia代理必须 被发现)
- goto http://localhost:8080/hawtio/jvm/connect(已经必须 找到代理,按连接)
- Hawtio 菜单将被扩展,您将看到 Camel 等...选项 (如果安装了骆驼功能)
问题是,Jolokia 独立代理无法在 karaf osgi 容器外正常工作(至少我找不到解决办法),因为它需要上面提到的配置,你不能在代理 运行time(例如,无法使用 java -jar .... 设置 Jolokia realm=karaf ....)
另一种方法是使用 "Jolokia as JVM Agent"
3.4。 JVM代理 当涉及检测其他代理未涵盖的任意 Java 应用程序时,JVM 代理是正确的代理。通过向 JVM
提供某些启动选项,任何 Java 程序都可以启动此代理所以基本上在 servicemix.bat 中定义了 DEFAULT_JAVA_OPTS,在末尾添加以下内容:
-javaagent:jolokia-jvm-1.6.2-agent.jar=host=localhost,realm=karaf,authMode=jaas,debug=true,user=karaf,password=karaf,port=8888
因此,您可以设置 realm 参数和 authMode,这样 Jolokia 就可以正常工作,并且可以使用 Debug 和 Trace 功能。