2 Replies Latest reply on Apr 11, 2007 6:20 AM by jesper.pedersen

    Multiple store managers

    jesper.pedersen

      I'm investigating the migration of one of our applications to the 'cmp2.x jdbc2 pm' configuration.

      One issue that I've found is that it isn't possible to use multiple store managers in each archive.

      The problem is that the store managers currently makes a specific cast to the implementation f.ex.

      JDBCStoreManager2 manager = (JDBCStoreManager2)managers.get(i);
      

      and use the specific methods (see f.ex. JDBCStoreManager2::start) making it impossible to define CMRs between the beans.

      F.ex. take the following entities:

      A <-> B -> C

      If you want to use the 'cmp2.x jdbc2 pm' for the 'A' and 'B' beans and the 'Standard CMP 2.x Entity Bean' configuration for 'C', since 'C' are basically a read-only bean.

      Using the 'Standard CMP 2.x Entity Bean' will limit the object creation, reduce memory and garbage collection of the bean if defined with commit option 'A' (as in our case) and should therefore increase performance for that bean.

      I see two solutions to this:

      1) Define a common interface for the store manager and port the existing ones to that interface.

      2) Leave it as it is - document behavior.

      I think that 1) will be a task that will involve 'some' work and with focus on EJB3 will require a lot commitment to make it happen.

      I personally can live with solution 2), since all our new applications are based on Seam (and therefore EJB3).

      Comments, thoughts, ideas ?