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

Design of ConnectionManager API

Gurkan Erdogdu Newbie

Hi;

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).

WDYT?

--Gurkan

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

    The package

    org.jboss.jca.core.api
    

    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
    org.jboss.jca.core.api.ConnectionManager
    

    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 ?

    HTH