首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jboss类冲突

Jboss类冲突
EN

Stack Overflow用户
提问于 2012-09-25 01:10:25
回答 2查看 273关注 0票数 2

这应该是一个常见的情况,对你们中的许多人来说都很容易。

我有appA。这个应用程序使用框架fw1和fw2。

fw1在这里使用jar中的Logger.java

http://anonsvn.jboss.org/repos/common/common-logging-spi/trunk/src/main/java/org/jboss/logging/

fw2在这里使用jar中的Logger.java

http://anonsvn.jboss.org/repos/common/jboss-logging/trunk/src/main/java/org/jboss/logging/

请注意,Logger.java不能互换(即有不同的方法)。每个框架都需要使用自己选择的Logger.java。

如何在Jboss中部署这样的应用程序呢?这不是我的确切场景,但如果有人能告诉我如何解决这个问题,那就太棒了。我可以从那里接手。原因是,如果我必须解释我的情况,它将需要3页!

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2012-09-25 01:25:55

我不认为你的问题有一个通用的解决方案。但我建议你继续探索,如下所示。

通常,您应该使用不同的类加载器运行fw1和fw2。如果你能截获这些框架的初始化,你也许可以做到这一点。

另一种方法是创建您自己的混合版本的Logger。我不知道它有多复杂,但这可能更容易。例如,logger1有writeLog()方法,而Logger2有printLog()方法。因此,创建您自己的记录器,在相同的包作为原始的。此记录器将使用单独的类加载器将调用委托给第一个或第二个版本,并将实现这两个方法。

不幸的是,您对问题的描述非常笼统,没有给出fw1、fw2和logger的具体名称。如果你自己找不到解决方案,可以试着提交另一个包含更具体信息的问题。这可能会有所帮助。

祝好运。

票数 1
EN

Stack Overflow用户

发布于 2012-09-25 03:46:39

您正在开发哪个版本的JBoss?

JBoss通过jboss-deployment-structure.xml提供了非常细粒度的类加载处理

使用此选项,您可以指定fw1使用loggera.java,指定fw2使用loggerb.java

我不觉得有必要重复,您可以在jboss文档中阅读有关jboss-deployment-structure.xml的内容。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12569715

复制
相关文章

相似问题

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