首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注册camel的ftp jpa Idempotent存储库时出错

注册camel的ftp jpa Idempotent存储库时出错
EN

Stack Overflow用户
提问于 2012-08-24 02:28:58
回答 1查看 713关注 0票数 1

我正在尝试实现jpa幂等存储库,就像这里描述的http://camel.apache.org/file2.html一样,但我得到了一个Mbean导出错误。

在我的application-context.xml上,我有以下部分。

代码语言:javascript
复制
<bean id="mvStore" class="org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository" lazy-init="false">
        <!-- Here we refer to the spring jpaTemplate -->
        <constructor-arg index="0" ref="jpaTemplate" />
        <!-- This 2nd parameter is the name (= a cateogry name). You can have different repositories with different names -->
        <constructor-arg index="1" value="FileConsumer" />
    </bean>
<context:mbean-server id="mbeanServer" />
<context:mbean-export server="mbeanServer" registration="replaceExisting" default-domain="br.com.touchtec"/>

如果我删除上面的部分,那么服务器(tomcat)就可以正常启动。有人能帮我解决这个问题吗?

下面是堆栈:

代码语言:javascript
复制
Caused by: org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository@6df960c4] with key 'mvStore'; nested exception is javax.management.MalformedObjectNameException: Key properties cannot be empty
    at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:602)
    at org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:527)
    at org.springframework.jmx.export.MBeanExporter.afterPropertiesSet(MBeanExporter.java:413)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
    ... 50 more

Caused by: javax.management.MalformedObjectNameException: Key properties cannot be empty
    at javax.management.ObjectName.construct(ObjectName.java:467)
    at javax.management.ObjectName.<init>(ObjectName.java:1403)
    at javax.management.ObjectName.getInstance(ObjectName.java:1285)
    at org.springframework.jmx.support.ObjectNameManager.getInstance(ObjectNameManager.java:62)
    at org.springframework.jmx.export.naming.MetadataNamingStrategy.getObjectName(MetadataNamingStrategy.java:114)
    at org.springframework.jmx.export.MBeanExporter.getObjectName(MBeanExporter.java:728)
    at org.springframework.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:631)
    at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:592)
    ... 54 more
EN

回答 1

Stack Overflow用户

发布于 2012-08-24 15:57:04

首先,我希望您清楚,jmx部分不是使Idempotent Repository正常工作所必需的。您的错误是一个纯粹的JMX/Spring错误,没有链接到Camel。

如果您想使用MBeanExporter,您应该阅读Spring JMX上的官方文档,以便更好地理解这一问题。

您的MBeanExporter定义可能如下所示

代码语言:javascript
复制
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
    <property name="beans">
      <map>
        <entry key="bean:name=mvStore" value-ref="mvStore"/>
      </map>
    </property>
    <property name="server" ref="mbeanServer"/>
  </bean>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12097912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档