Classloader problem in JBoss AS 6 with EJB and WAR, deployed side by side

I found quite a complex problem when working on a project with multiple deployments, EE. The problem lies in the merger Hibernate dependencies TimerService EJB3.1 and insufficient insulation class loader.

Starting with AS 6 CR1 build, I am deploying WAR. This WAR contains Hibernate tanks.

I then deploy EJB (technically MDB) in the JAR. When I do, JBoss launches TimerService, to provide full support for EJB3.1. TimerService depends on sleep mode. JBoss on strike because the class loader finds already downloaded version of Hibernate.

I even tried to pack all of them into a separate EAR and deploy them. No dice. Something about how the boot TimerService, seems completely ignores classloading insulation.

My question is, is there anything that I can do without disconnecting TimerService? I was going to use its excellent features later in the project. I honestly do not even know if this is a mistake, because the documentation for the JBoss class loading, it seems, is written angry Klingons. Nevertheless, I hope to circumvent.

EDIT . In fact I do not even have the possibility to disable TimerService, as each of my efforts were thwarted in some way. Whatever it was, I do not see how anyone can deploy Hibernate and EJB in the same instance of JBoss.

EDIT. , Hibernate MDB WAR, Hibernate JBoss. ; , beans . , , Hibernate (3.6).

+3
2

, , :

EAR, :

  • JAR EJB
  • JAR JPA
  • WAR webapp
  • , .
  • jboss-app.xml "-"

jboss-app.xml EAR META-INF:

<jboss-app>
  <loader-repository>...</loader-repository>
</jboss-app>

:

http://community.jboss.org/wiki/ClassLoadingConfiguration

http://community.jboss.org/wiki/JBossClassLoadingUseCases

Hibernate. , AS , " ", , . , AS, -)

+2

jboss. , - . Jboss , .

, , Jboss4 , , . , , . jboss , . , jboss common/lib dir , .

0

Source: https://habr.com/ru/post/1779705/


All Articles