0 Replies Latest reply on Feb 29, 2004 7:18 PM by adrian.brock

    Persistence Manager

      The current persistent manager implementations are not very performant.
      There are a number of reasons for this, but most of it is down to a simple
      implementation that aims at correctness rather than speed.

      1) Use of JTA transaction in jdbc2 is unnecessary - a local jdbc transaction
      i.e. setAutoCommit(false) is enough
      2) Make use of bulk writes to the db - e.g. for transactional sessions, but
      also to relax the requirement that messages are persisted on each send
      where this is less important for the application.
      3) Lazily write the transaction record - it is only necessary when there are
      actually persistent messages in the transaction.
      4) Improve the sql - db indexes, etc.
      5) Other optimizations in the persistence architecture

      jdbc3 is an attempt to reduce the cloning of messages for topics
      this could be taken further with a more dedicated message store.

      Regards,
      Adrian