Version 4

    What happened to JBossMQ File Persistence in JBoss4?

     

    As noted on the Persistence configuration page, these persistence managers are old legacy configurations from the

    JBoss-2.4.x

    /

    JBossMQ beta

    implementation.

     

    They were kept around because these were the only forms of persistence available in that version and it eased the porting for users.

     

    They have a number of problems, some of them quite serious which means they do not work properly.

     

    • Each message requires a filehandle, for large numbers of messages, the OS can run out of filehandles

    • No hard flush to the disk means the data may still be stuck in OS/hardware buffers.

    • No check summing means the recover may be looking at corrupted or incomplete data.

    • The

      RollingLogged

      implementation is "deliberatly" broken by design in that it gambles reliability in favour of performance.  Again, each queue requires hundreds of open filehandles.

    • There is no link between the cache implementation and the persistence manager meaning that persistent message could be stored twice on disk.

     

    For these reasons, the file persistence implementations were deprecated in

    JBoss-3.0.x+

    and removed in

    JBoss4

    .