Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[JBOSS/Hibernate] configuratie - share Hibernate MBean

Pagina: 1
Acties:

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
Ik zit met hetvolgende configuratie-probleem voor JBoss.

Na lang zoeken op Google, heb ik nog niets gevonden daaromtrent (dus waarschijnlijk zal het ook niet mogelijk zijn). Ik heb wel het een en ander gelezen over Hibernate ARchives en Hibernate MBean, maar ik kan de oplossing tot mijn probleem maar niet vinden :( .

Vorige situatie
Vroeger had ik een Hibernate MBean geconfigureerd en deze service is exposed via JNDI. Verder had ik ook een SAR archive waarin Hibernate mapping-files in staan.
De Hibernate MBean was geconfigureerd in "\deploy\ hibernate_ear.ear \jboss-service.xml"
Een applicatie die deze hibernate service nodig heeft, stond in "\deploy\ some_app.sar ".

Ik merkte dat de hibernate-service mijn mapping-files die in "some_app.ear" stonden niet kon vinden. Blijkbaar moeten de mapping-files in dezelfde 'ear' staan als de hibernate-service. Een beetje vervelend, want zo moet ik dus delen (jars) van 'some_app' in de 'hibernate_ear.ear' plaatsen en dat wil ik niet.

huidige situatie
Een oplossing hiervoor is dat ik in mijn "some_app.ear" een hibernate-service instantieer en expose de sessionfactory via JNDI. Voor een andere EAR die ook hibernate gebruikt zou ik dan ook een hibernate-service moeten instantieren en exposen.

code:
1
2
3
4
5
6
7
8
9
10
11
APP1.SAR
  |-- file1A.jar
  |-- file1B_mappings.jar
  |-- META-INF
        |--jboss-service.xml  (configuratie voor hibernate mbean - JNDI: sessionfactory1)

APP2.SAR
  |-- file2A.jar
  |-- file2B_mappings.jar
  |-- META-INF
        |--jboss-service.xml  (configuratie voor hibernate mbean - JNDI: sessionfactory2)


In werkelijkheid zullen beide applicaties dezelfde datasource aanspreken. Dus ik wil eigenlijk dat mijn hibernate sessionfactory als het ware geshared wordt voor deze 2 applicaties. Behalve een andere JNDI-binding, zijn beide hibernate-configuraties zijn nu namelijk identiek.

Is het dus mogelijk om dezelfde sesssionfactory te sharen tussen verschillende jboss applicaties (SAR of EAR) zodat bij een deployment van een derde applicatie geen nieuwe hibernate-service geinstantieerd moet worden?
Hopelijk is het een beetje duidelijk wat ik wil bereiken ? :)

PS: ik heb ook al het een en ander gelezen over HAR archives waarin je de mapping-files plaatst. Ik zou dus deze HAR's in de centrale "hibernate_ear.ear" kunnen plaatsen, maar dan zijn mijn applicaties opnieuw verspreid natuurlijk.

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.