当部署多个战争,并且每个战争文件包含扩展DefaultCamelContext的一个类StandardContext的实例并且使用@ContextName将上下文名称设置为“StandardContext”时,将抛出此异常。这是由于JBoss上的类加载器设置吗? 骆驼版本:2.17.4 JBoss版本:EAP 6.1骆驼CDI运行时JBoss EAP 6.1上的InstanceAlreadyExistsException
0
A
回答
0
您可以配置您的骆驼应用程序以使用JMX的命名模式(例如managementNamePattern)。在JMX文档中查看更多详细信息:http://camel.apache.org/camel-jmx.html
然后,您可以让模式使用计数器或其他东西来避免冲突。或者,您可以覆盖该名称并将其设置为您知道的唯一名称,例如模块名称。
0
早些时候,我曾使用过
getManagementNameStrategy().setNamePattern("#name#");
但没有工作,所以我修改我的代码如下:
@ApplicationScoped
@ContextName("StandardContext")
public class StandardContext extends DefaultCamelContext {
@Resource(lookup = "java:module/ModuleName")
private String moduleName;
@PostConstruct
public void init() {
getManagementNameStrategy().setNamePattern(moduleName);
发布这个代码来澄清我的解决方案的其他读者
相关问题
- 1. 的Jboss EAP 7 CDI JTA @Transactional
- 2. 在jboss中部署骆驼
- 3. jboss eap 6.1自定义log4j到server.log
- 4. JBoss EAP 6.1 + HornetQ无法启用AIO
- 5. 骆驼是不是与JBoss保险丝运行在6
- 6. 骆驼不开始使用骆驼:运行maven插件
- 7. JBoss EAP 6.1上的热交换代理 - java.lang.OutOfMemoryError:PermGen空间
- 8. 在jboss保险丝上使用骆驼路由连续运行一个循环
- 9. Camel Bindy应用程序JBoss EAP 6.1部署问题
- 10. 制作骆驼路线并行运行
- 11. 运行本地骆驼上下文时出错
- 12. 作为部署进行安装时,jboss-eap-6.1 oracle驱动程序的定义
- 13. 骆驼定时器
- 14. 无法在jboss环境中启动骆驼春天上下文
- 15. 在骆驼路线上时很复杂
- 16. JBoss EAP 5.1 - JBossGenericPrincipal
- 17. Apache骆驼Junit保持上下文运行
- 18. 骆驼在运行时通过jmx更改路由策略
- 19. 无法将Jvisual Vm与Jboss EAP 6.1集成
- 20. Apache驼峰远程EJB调用通过JBOSS失败EAP 6.4
- 21. 在JBoss EAP 6.4中为SOAP代理创建骆驼路由的简单人指南
- 22. Apache骆驼bindy
- 23. java.sql.SQLException:JBoss 6.1上的OALL8处于不一致状态EAP
- 24. EAP上的会话复制JBOSS 6.0
- 25. Java 8上的JBoss EAP 6.x
- 26. Eclipse for JBoss EAP 5.1
- 27. 骆驼DNS缺失
- 28. 骆驼JMS组件
- 29. 骆驼查找Wildfly上的RemoteConnectionFactory
- 30. ActiveMQ骆驼邮件
你如何部署你的骆驼应用程序。你使用战争还是使用野驴?一个好主意是使用独特的骆驼id名称,所以例如@ContextName应该在您的所有应用程序中使用唯一的名称 –
骆驼应用程序在JBoss EAP 6.1上作为war文件部署。不幸的是,ContextName无法更改,因为它是每个war文件使用的公共基类,但解决方法是使用模块名称作为名称模式: –