5 Replies Latest reply on May 13, 2002 6:45 PM by hchirino

    Jboss3.0beta JMS Jdbc persistence (Oracle) not using jaws?

    hackerdude

      Hello,

      So running the PersistenceManager with hsql seems to work fine after tweaking the misnamed DataSource depends prefix on jbossmq (it's listed as jboss.mq:service=... when it should be jboss:service=...).

      After this success I tried to set up jdbc persistence using Oracle.

      I got the connection to stuff work, but then it complains about org.jboss.mq.SpyJMSException: could not find or set up transaction table.

      If the table does not exist, the oracle error is INVALID DATATYPE. Seeing the SQL the jdbc persistence manager is generating, it is obviously because it's trying to push the hypersonic SQL OBJECT datatype (maybe it's not looking at jaws for the mappings?).

      I thought I could get away with using a blob like in the last version, but if I create the tables myself I get the same SpyJMSException (could not find or set up transaction table) with the SQLException attachment: java.sql.SQLException: ORA-00955: name is already used by an existing object. So it apparently wants to create it itself.

      Maybe it's checking for the datatype of OBJECT without looking at standardjaws.xml first to see that the mapping for java.lang.Object is indeed BLOB? I tried creating a fake OBJECT datatype on the Oracle Schema containing a single blob named object. Then I started JBoss and it created the table and connected everything properly (although I doubt it will run - haven't tried it yet) :-)

      Is there a property I can use to avoid the persistence manager trying to create the table with those exact parameters? Or should I try another Oracle datatype that would map to Object correctly? Or should I just wait until the actual release? :-)

      Anyway, just a heads-up. Magnificent Job on Jboss3 otherwise.

      Thank you,

      - David

        • 1. Re: Jboss3.0beta JMS Jdbc persistence (Oracle) not using jaw
          hchirino

          Try checking out the latest version out of CVS. It has brand new JDBC Persistence Manager. All the SQL statements are configurable and it should also provide better performance. It just needs a little testing to make sure that it work with something other than HSQL.

          Regards,
          Hiram

          • 2. Re: Jboss3.0beta JMS Jdbc persistence (Oracle) not using jaw
            sidney

            Hi,

            i noticed the getTables method of the DatabaseMetaData class is used to check if the tables are there. For oracle you need to use uppercase table names to find them. You can set the names of the table in the conf/jbossmq-service.xml file.

            • 3. Re: Jboss3.0beta JMS Jdbc persistence (Oracle) not using jaw
              asauve

              Can someone explain in rather granular steps the process to have JMS using Oracle as the persistence store... I have Oracle storing the entity beans, by using the examples in the distribution, but I have no success in setting up the JMS persistence... What should be the value of the DataSource attribute??? I would really appreciate any help with this matter... Tx

              Alex

              • 4. Re: Jboss3.0beta JMS Jdbc persistence (Oracle) not using jaw
                asauve

                I have JMS trying to write to the Oracle DS but as hackerdude has found the tables cannot be created... But if you grab the latest in the cvs load, the version number is 3.1, is 3.0 not being released??? I guess I will have to wait for 3.0 release but will it include the jdbc2 fix mentioned here? RC2 uses the jdbc, by default I am not really sure if jdbc2 is available on that load... I really have to persist to the Oracle DS, so if you can help THANK YOU!!!!

                Alex

                • 5. Re: Jboss3.0beta JMS Jdbc persistence (Oracle) not using jaw
                  hchirino

                  The next release of CVS HEAD will be 3.1 because the CVS has allready been branched at tag Branch_3_0. Rleases of the Branch_3_0 will be 3.0.x releases.

                  But fear not, I'm keeping the Branch_3_0 and the HEAD branch in synch, so all the features in head are currently in the 3_0 branch also.

                  Regards,
                  Hiram