Simplestore + JDBM

2002-03-24
2002-03-25
  • Juozas Baliuka
    Juozas Baliuka
    2002-03-24

    Hi,
    I added JDBM storage implementation for
    SimpleStore, It is kind of "Transparent Persistence" noe it has two types of persistence
    RDBMS and JDBM.

    http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/simplestore/

    This integration is not well tested and optimized,
    but I see JDBM is exelent DB implementation.

     
    • Alex Boisvert
      Alex Boisvert
      2002-03-24

      This is very cool!  Thanks for letting us know you're using JDBM over at Apache.

      alex

       
      • Juozas Baliuka
        Juozas Baliuka
        2002-03-25

        I found this project the best
        implementation  for  persistent BTry and Hashtable, I am very new JDBM user and it is possible I use it incorrect, but I think I will
        find ways to optimize code in simplestore.
        It is very good if you are thinking about XA resources and interfaces from java.util package.
        I think Comparator, Set, Map, Collection and Iterator can be very useful to implement in persistent JDMB classes.

         
        • Alex Boisvert
          Alex Boisvert
          2002-03-25

          Support for java.util interfaces is coming very shortly.  I have a java.util-friendly version of JDBM locally here, which I need to clean up and commit later on.

          As for XA support, there is a design issue here.  JDBM doesn't support explicit rollbacks, which are needed by the XA protocol.  I think the solution is to wrap JDBM with a high-level interfaces (much like SimpleStore) and let this wrapper act as the XA resource.

          alex

           
          • Juozas Baliuka
            Juozas Baliuka
            2002-03-25

            Simplestore can't implement roolback, it restores
            object state in cache on roolback, but it can't restore
            resources. I believe you will find solution.
            The most popular this kind of storage implementation is BDB www.sleepycat.com, it has interface for JAVA and it is very good code, but JDBM is pure JAVA and use BSD license.
            You can try to reuse cache from simplestore(based  on java.ref.* to communicate with GC), it can be useful for JDBM, but transactions will not.