Fala Digão,
Eu juro q ainda não entendi esse “Padrão de Desenho” q eu vejo tanto por aqui… mas voltando a vaca fria, a parada é a seguinte :
QUALQUER sistema vai sofrer desse mal, pois em algum dado momento o software quando recebe uma garga enorme de conexões ou trabalho ele senta mesmo. Uns tem um limite maior do que outros, como por exemplo o Oracle… eu já vi ele sentar por conta de um número absurdo de conxões simultâneas, ou ainda queries que foram mal escritas. Essa introdução é só pra mostrar a encrenca.
Repondendo de uma forma rápida e sem conhecer exatamente os seus sistemas, eu diria q uma solução rápida seria alterar essa API para que a mesma tenha algum controle sobre a configuração do mínimo e máximo de conexões permitido, mais ou menos como fazemos com um DataSource. Não sei se vocês possuem o código fonte dessa API.
Existe uma especificação na plataforma J2EE para a criação de conectores entre o application server e EIS :
http://java.sun.com/j2ee/connector/
http://java.sun.com/j2ee/connector/overview.html
Ela foi formulada justamente para auxiliar na criação de uma API para prover a conectividade entre aplicações, de forma que a mesma seja gerenciada pelo application server, possibilitando XA, pools e etc. Seria muito bom vcs darem uma olhada nisso.
Espero q o meu post tenha te dado uma luz. 