• jhollez
  • Registratie: Oktober 2004
  • Laatst online: 29-09-2025
Hallo,

momenteel hebben we van eenzelfde enterprise applicatie veel verschillende versies, die onderling niet compatibel zijn met elkaar. Momenteel gebruiken we verschillende JBoss instanties om die EARs op te deployen en Apache ervoor om naargelang een subdomain naar de juiste server te gaan. Dit gebruikt echter heel veel ram en laat maar 2 JBoss instanties toe per server. Daarom probeer ik nu die 2 EARs op dezelfde server te zetten.

Wat ik doe is in JBoss 2 vhosts definieren. Ook zet ik Isolated=true in JBOSS_DIST/server/default/deploy/ear-deploy.xml Vervolgens zorg ik dat EAR1 vhost1 gebruikt en EAR2 vhost2. EAR1 deployed en werkt, EAR2 deployed alle beans, maar de WAR geeft een probleem bij een lookup (java.lang.ClassCastException: $Proxy98 cannot be cast ...). We moeten momenteel JBoss 4.2.3 gebruiken en deze laat geen @ejb lookups toe vanuit de servlet. Vandaar doen we:

code:
1
2
Context c = new InitialContext();
return (NameBeanLocal) c.lookup("NAMEEAR/NameBean/local");


Probleem is uiteraard dat deze lookup nietmeer werkt voor de 2de EAR, aangezien deze een andere naam heeft. In de code zelf zouden we liefst niets aanpassen, tenzij dezelfde code mogelijk is voor alle verschillende versies. Dus een soort van lookup met als scope de EAR.

Wat ik ook heb geprobeerd is de EAR dezelfde naam te geven en in een subfolder te zetten van de deploy dir, maar dat geeft een javax.management.InstanceAlreadyExistsException aangezien NAMEEAR.ear al bestaat.

Ideeen?