We have a 3rd party software component that we need to integrate into our EJB services. It can be somewhat expensive to establish a connection to this 3rd party software and we would also like to manage the number of connections that are attempted. (it is not a database)
I understand that the concept of a singleton cannot really be implemented using EJBs because the container wants to manage the lifecycle of objects correct?
What is the best way to create a wrapper around this 3rd party software? We will want calls made into the 3rd party library to be synchronous - we will not want to send a message and have it processed async. I understand this may be a bottle neck for overall server operation.
You may ask: why are we using EJBs given this limitation? For consistency I guess. EJB communication is being used between the client/server for the bulk of the application. In this particular case the 3rd party software needs to be involved in order to satisfy the request. The client is unaware of the server issues.