Hallo allemaal.
Ik worstel al een paar weken met een probleem waar ik maar geen goede oplossing voor kan vinden.
Binnen mijn organisatie zijn we een client side applicatie aan het ontwikkelen welke gegevens trekt uit een RedBrick (Informix) database van IBM. Omdat we het aantal mogelijke connecties op de database willen beperken, willen we gebruik maken van connection pooling. Dit moet het mogelijk maken om (bijvoorbeeld) maximaal 8 connecties op de database toe te staan. Als een andere applicatie dan een connectie probeert te maken, moet deze in de wacht worden gezet totdat er weer een connectie vrij komt.
Nu is het mogelijk Connection Pooling op client niveau toe te passen of op server niveau (met behulp van een Application Server). Wij gebruiken hiervoor de freeware Application Server van jboss. Omdat het op client niveau niet mogelijk is een pool bij te houden voor meerdere clients, valt onze keuze op connection pooling op server niveau. Tot dusver geen probleem.
Nu wil het feit echter, dat we Connection Pooling via de Application Server (met behulp van JNDI) niet kunnen toepassen, omdat het niet mogelijk is connecties te krijgen buiten de virtual machine van de application server. Dit, omdat de client applicatie buiten de virtual machine van de application server draait.
Nu proberen we dit probleem te omzeilen door zelf een soort van server applicatie te bouwen welke in contact staat met de application server. Het idee is om de server applicatie een connectiepool te laten beheren door een connectie pool object te binden aan een referentie object op de application server. Als men dan als client de referentie van het object ophaalt vanaf de application server, zou het theoretisch mogelijk moeten zijn om op deze manier connecties op te halen en terug te zetten in de connectiepool die binnen de server applicatie beheert wordt.
Theoretisch, want het is erg moeilijk om zelf een connection pool op te zetten met de beschikbare jdbc driver van RedBrick.
Tot dusver mijn vrij uitgebreide omschrijving van het probleem
Ik ben niet zozeer op zoek naar een oplossing in code o.i.d., maar meer naar een mening van andere programmeurs die met hetzelfde probleem te kampen hebben gehad of nog steeds kampen.
Wat ik dus graag als reactie zou willen zien, is jullie mening over onze probleemomzeiling of wellicht een andere kijk op het verhaal met een andere oplossing.
Als iets niet duidelijk is m.b.t. de geschetste situatie, dan ben ik graag bereid het één en ander nog wat duidelijker te verklaren
Alvast bedankt!!!
Ik worstel al een paar weken met een probleem waar ik maar geen goede oplossing voor kan vinden.
Binnen mijn organisatie zijn we een client side applicatie aan het ontwikkelen welke gegevens trekt uit een RedBrick (Informix) database van IBM. Omdat we het aantal mogelijke connecties op de database willen beperken, willen we gebruik maken van connection pooling. Dit moet het mogelijk maken om (bijvoorbeeld) maximaal 8 connecties op de database toe te staan. Als een andere applicatie dan een connectie probeert te maken, moet deze in de wacht worden gezet totdat er weer een connectie vrij komt.
Nu is het mogelijk Connection Pooling op client niveau toe te passen of op server niveau (met behulp van een Application Server). Wij gebruiken hiervoor de freeware Application Server van jboss. Omdat het op client niveau niet mogelijk is een pool bij te houden voor meerdere clients, valt onze keuze op connection pooling op server niveau. Tot dusver geen probleem.
Nu wil het feit echter, dat we Connection Pooling via de Application Server (met behulp van JNDI) niet kunnen toepassen, omdat het niet mogelijk is connecties te krijgen buiten de virtual machine van de application server. Dit, omdat de client applicatie buiten de virtual machine van de application server draait.
Nu proberen we dit probleem te omzeilen door zelf een soort van server applicatie te bouwen welke in contact staat met de application server. Het idee is om de server applicatie een connectiepool te laten beheren door een connectie pool object te binden aan een referentie object op de application server. Als men dan als client de referentie van het object ophaalt vanaf de application server, zou het theoretisch mogelijk moeten zijn om op deze manier connecties op te halen en terug te zetten in de connectiepool die binnen de server applicatie beheert wordt.
Theoretisch, want het is erg moeilijk om zelf een connection pool op te zetten met de beschikbare jdbc driver van RedBrick.
Tot dusver mijn vrij uitgebreide omschrijving van het probleem
Ik ben niet zozeer op zoek naar een oplossing in code o.i.d., maar meer naar een mening van andere programmeurs die met hetzelfde probleem te kampen hebben gehad of nog steeds kampen.
Wat ik dus graag als reactie zou willen zien, is jullie mening over onze probleemomzeiling of wellicht een andere kijk op het verhaal met een andere oplossing.
Als iets niet duidelijk is m.b.t. de geschetste situatie, dan ben ik graag bereid het één en ander nog wat duidelijker te verklaren
Alvast bedankt!!!