我有一个Spring Boot Java应用程序,除其他外,该应用程序使用Apache Camel进行一些路由拦截和数据修改。我们有一个单独的“骆驼路线”文件(camelRoutes.xml),用于定义将要使用的骆驼路线。据我所知,该文件中还有一些配置,可以配置Jolokia MBean服务器和Jolokia代理。
关于Jolokia配置XML的某些信息,系统不满意。我已经完成了一些非常快速的Google搜索,并且似乎已正确指定了它(请参见https://jolokia.org/reference/html/jmx.html中的9.3.2节)。这个问题以各种方式表现出来。在Eclipse中的XML编辑器中打开文件时,相应的XML会突出显示一个错误(尽管它不提供有关其认为错误的信息)。更重要的是,当我尝试运行该应用程序时,它会失败并出现级联异常,基本上是指出配置文件中的问题。
camelRoutes.xml的摘录:
class A:
def f(self, a, b):
return a + b
class B(A):
def g(self, a):
return a*10
class C(A):
def g(self, a):
return a**2
class D(C, B):
pass
########################
d = D()
print( d.f(3, 4) )
在Eclipse中,对于定义<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jolokia="http://www.jolokia.org/jolokia-spring/schema/config"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
http://www.jolokia.org/jolokia-spring/schema/config http://www.jolokia.org/jolokia-spring/schema/config/jolokia-config.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
...
<context:mbean-export server="jolokiaServer" />
<jolokia:mbean-server id="jolokiaServer" />
<jolokia:agent lookupConfig="false"
systemPropertiesMode="never">
<jolokia:config autoStart="true" host="0.0.0.0"
port="${jolokia.port:8778}"
agentDescription="${jolokia.agentName:jolokia}" />
</jolokia:agent>
和jolokia:mbean-server
的行显示错误。
执行应用程序时,异常跟踪的小部分:
jolokia:agent
任何想法可能有什么问题吗?
答案 0 :(得分:0)
在我的情况下,原因是我使用了未合并assembly
文件的Maven spring.schemas
插件。我switched to the shader
plugin和模式验证成功了。