1 Reply Latest reply: Oct 5, 2009 4:51 PM by Jesper Pedersen RSS

    Design of ConnectionManager API

    Gurkan Erdogdu Newbie


      Currently there is an interface org.jboss.jca.core.api.ConnectionManager (CM) and org.jboss.jca.core.api.RealConnectionManager (RCM). CM delegates connection creation operation to the RCM that is responsible for doing all connection related stuff (including transactions).



        • 1. Re: Design of ConnectionManager API
          Jesper Pedersen Master

          The package


          represents the public API for our JCA implementation. Hence it is important that we only expose what we will support over time.

          The package will mostly consist of interfaces - as the implementation details should be hidden from the caller.

          I think for now that only the

          should remain in the package - without any methods defined. Just to define our top-level interface.

          E.g. RealConnectionManager should be moved to the implementation package - it currently also creates a dependency on the implementation JAR, which an API JAR can't have. Its all or nothing ;)

          Its better to start with the data structures in the implementation and move them out to the API if there are use-cases for it.

          A good rule of thumb is to ask:

          * Do I want users to call this method ?
          * Do I want to expose this attribute as a bean property ?