1 Reply Latest reply on Feb 9, 2005 6:42 PM by adrian.brock

    problem receive many messages

    jivkoto

      Hi,
      I am working with Firebird 1.5.2, Jaybird 1.5.5 Jboss 3.2.6. I am wondering if there are any problems with jms storing in firebird. I will be thankful if someone take a look and give a hand on this:
      I am sending many jms messages on two queues, let say A and B. after a while my jboss freezes.
      Result many of the messages has reached there destination. But from a moment all are stored in JMS_MESSAGES. There is record in JMS_MESSAGES for one of the queue (B) with CTXID column set, so there is a record in JMS_TRANSACTION as set in CTXID.

      Here is my firebird-xs-ds.xml file

      <?xml version="1.0" encoding="UTF-8"?>
      <datasources>
       <mbean code="org.firebirdsql.management.FBManager" name="jboss.jca:service=FirebirdManager">
       <attribute name="FileName">C:\Documents and Settings\zhivko\WORKFLOWDB</attribute>
       <attribute name="UserName">sysdba</attribute>
       <attribute name="Password">masterkey</attribute>
       <attribute name="CreateOnStart">true</attribute>
       <attribute name="DropOnStop">false</attribute>
       </mbean>
      
       <xa-datasource>
       <jndi-name>WORKFLOWDB</jndi-name>
       <track-connection-by-tx>true</track-connection-by-tx>
       <isSameRM-override-value>false</isSameRM-override-value>
       <xa-datasource-class>org.firebirdsql.pool.FBConnectionPoolDataSource</xa-datasource-class>
       <xa-datasource-property name="Database">localhost/3050:WORKFLOWDB</xa-datasource-property>
       <xa-datasource-property name="UserName">SYSDBA</xa-datasource-property>
       <xa-datasource-property name="Password">masterkey</xa-datasource-property>
       <!--user-name>SYSDBA</user-name>
       <password>masterkey</password-->
       <!--transaction isolation-->
       <config-property name="TransactionIsolationName">TRANSACTION_READ_COMMITTED</config-property>
       <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
       <!--pooling parameters-->
       <min-pool-size>10</min-pool-size>
       <max-pool-size>500</max-pool-size>
      
       <blocking-timeout-millis>300000</blocking-timeout-millis>
       <idle-timeout-minutes>15</idle-timeout-minutes>
      
       <!-- Debugging -->
       <track-statements>true</track-statements>
       <!-- HA -->
       <check-valid-connection-sql>SELECT * FROM tClient </check-valid-connection-sql>
       <new-connection-sql>SELECT * FROM tClient </new-connection-sql>
       <!-- <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.*</valid-connection-checker-class-name> -->
       </xa-datasource>
      </datasources>
      

      I tried with isolation level = TRANSACTION_READ_UNCOMMITTED but it was the same

      Here is my xxx-jdbc2-service.xml


      <?xml version="1.0" encoding="UTF-8"?>
      <server>
      
       <mbean code="org.jboss.mq.server.jmx.DestinationManager" name="jboss.mq:service=DestinationManager">
       <depends optional-attribute-name="MessageCache">jboss.mq:service=MessageCache</depends>
       <depends optional-attribute-name="PersistenceManager">jboss.mq:service=PersistenceManager</depends>
       <depends optional-attribute-name="StateManager">jboss.mq:service=StateManager</depends>
       </mbean>
       <mbean code="org.jboss.mq.server.MessageCache"
       name="jboss.mq:service=MessageCache">
       <attribute name="HighMemoryMark">50</attribute>
       <attribute name="MaxMemoryMark">60</attribute>
       <attribute name="CacheStore">jboss.mq:service=PersistenceManager</attribute>
       </mbean>
      
       <mbean code="org.jboss.mq.pm.jdbc2.PersistenceManager"
       name="jboss.mq:service=PersistenceManager">
       <depends optional-attribute-name="ConnectionManager">jboss.jca:service=XATxCM,name=WORKFLOWDB</depends>
       <attribute name="SqlProperties">
       BLOB_TYPE=BINARYSTREAM_BLOB
       INSERT_TX = INSERT INTO tJMSTransactions (cTXID) values(?)
       INSERT_MESSAGE = INSERT INTO tJMSMessages(cMessageID, cDestination, cMessageBlob, cTXID, cTXOP) VALUES(?,?,?,?,?)
       SELECT_ALL_UNCOMMITED_TXS = SELECT cTXID FROM tJMSTransactions
       SELECT_MAX_TX = SELECT MAX(cTXID) FROM tJMSMessages
       SELECT_MESSAGES_IN_DEST = SELECT cMessageID, cMessageBlob FROM tJMSMessages WHERE cDestination=?
       SELECT_MESSAGE = SELECT cMessageID, cMessageBlob FROM tJMSMessages WHERE cMessageID=? AND cDestination=?
       MARK_MESSAGE = UPDATE tJMSMessages SET cTXID=?, cTXOP=? WHERE cMessageID=? AND cDestination=?
       UPDATE_MESSAGE = UPDATE tJMSMessages SET cMessageBlob=? WHERE cMessageID=? AND cDestination=?
       UPDATE_MARKED_MESSAGES = UPDATE tJMSMessages SET cTXID=?, cTXOP=? WHERE cTXOP=?
       UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE tJMSMessages SET cTXID=?, cTXOP=? WHERE cTXOP=? AND cTXID=?
       UPDATE_MESSAGE = UPDATE tJMSMessages SET cMessageBlob=? WHERE cMessageID=? AND cDestination=?
       UPDATE_MARKED_MESSAGES = UPDATE tJMSMessages SET cTXID=?, cTXOP=? WHERE cTXOP=?
       UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE tJMSMessages SET cTXID=?, cTXOP=? WHERE cTXOP=? AND cTXID=?
       DELETE_MARKED_MESSAGES_WITH_TX = DELETE FROM tJMSMessages WHERE cTXID IN (SELECT cTXID FROM tJMSTransactions) AND cTXOP=?
       DELETE_TX = DELETE FROM tJMSTransactions WHERE cTXID = ?
       DELETE_MARKED_MESSAGES = DELETE FROM tJMSMessages WHERE cTXID=? AND cTXOP=?
       DELETE_TEMPORARY_MESSAGES = DELETE FROM tJMSMessages WHERE cTXOP='T'
       DELETE_MESSAGE = DELETE FROM tJMSMessages WHERE cMessageID=? AND cDestination=?
       CREATE_MESSAGE_TABLE = CREATE TABLE tJMSMessages(cMessageID INTEGER NOT NULL, cDestination VARCHAR(150) NOT NULL, cTXID INTEGER, cTXOP CHAR(1), cMessageBlob BLOB, PRIMARY KEY (cMessageID, cDestination))
       CREATE_IDX_MESSAGE_TXOP_TXID = CREATE INDEX IDX_JMSMessages_TXOP_TXID ON tJMSMessages (cTXOP, cTXID)
       CREATE_IDX_MESSAGE_DESTINATION = CREATE INDEX IDX_JMSMessages_Destination ON tJMSMessages (cDestination)
       CREATE_TX_TABLE = CREATE TABLE tJMSTransactions (cTXID INTEGER, PRIMARY KEY (cTXID))
       CREATE_TABLES_ON_STARTUP = FALSE
       </attribute>
       <!-- CREATE_TABLES_ON_STARTUP is false, because it done in createDB.xml with optimized storage parameters. -->
       </mbean>
      
      </server>
      
      


      If any one has any idea please help. Thanks in advanced.