3 Replies Latest reply on Jan 20, 2004 6:17 PM by Adrian Brock

    Performance issues in JMS configuration with Oracle as persi

    Faith Ildiz Newbie

      Hi all,

      I have seen many postings around this subject and I am able to configure JBoss (3.2.1) to use Oracle as JMS persistance storage.

      In my application we transfer about 40,000 messages (2kbytes each)per hour. So I am trying to get the best performance out of this configuration. But under certain situations my JMS queue size is getting incredibly big and everything is failing.

      Before looking other areas/options I wanted to understand what data types JBoss supports - for the MESSAGEBLOB column; and which one is most efficient.

      So my question is in regards to jbossmq-service.xml. For BLOB_TYPE I see that there are options to choose between
      BLOB_TYPE=BYTES_BLOB
      BLOB_TYPE=OBJECT_BLOB
      BLOB_TYPE=BINARYSTREAM_BLOB

      and for table creation there are options like;
      CREATE_MESSAGE_TABLE = CREATE TABLE JMS_MESSAGES (MESSAGEID INTEGER NOT NULL, \
      DESTINATION VARCHAR(50) NOT NULL, TXID INTEGER, TXOP CHAR(1), \
      MESSAGEBLOB BLOB, PRIMARY KEY (MESSAGEID, DESTINATION) )

      or

      CREATE_MESSAGE_TABLE = CREATE TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, \
      DESTINATION VARCHAR(50) NOT NULL, TXID INTEGER, TXOP CHAR(1), \
      MESSAGEBLOB LONG RAW, PRIMARY KEY (MESSAGEID, DESTINATION) )

      Difference being the MESSAGEBLOB column as BLOB, or LONG RAW...

      There maybe other options too.

      So if someone can tell me which data type is more efficient; which pair I should use, if there are other data types so on I'll appreciate it.

      Also CREATE_TABLES_ON_STARTUP=TRUE does not seem to work for me. So I create tables externally... Any ideas to what I should look at?