5 Replies Latest reply on Dec 27, 2001 9:53 PM by yaorong

    URGENT: JAWS can't judge if InterBase table already exists?

    yaorong Newbie

      Hi all,

      I use InterBase6.0.1 database and Jboss2.4.3 for Window. The datasource config is as follows:

      org.jboss.pool.jdbc.xa.wrapper.XADataSourceImpl
      HRMSDB
      jdbc:interbase://192.168.82.125/d:/webhrms/HRMS.GDB
      SYSDBA
      masterkey


      First I start InterServer as windows2000's service and put InterClient.jar to jboss/lib/ext/. I must add an issue: the InterClient.jar I put into jboss/lib/ext is compiled at jdk1.3 .
      . I encounter a problem when I start the jboss: The database bounding has no problem but the jboss hangs when [Container factory] Deploying:file:/D:/WEBHRMS/JBoss-2.4.3_Tomcat-3.2.3/jboss/tm
      p/deploy/Default/hrms.ear
      [Verifier] Verifying file:/D:/WEBHRMS/JBoss-2.4.3_Tomcat-3.2.3/jboss/tmp/deploy/
      Default/hrms.ear/ejb1004.jar
      [Container factory] Deploying Test

      The Test is the CMP which can deploy if the database is changed to mssqlserver2000 or mysql4.0 for Win and there is only one entity bean. I checked the Jboss2.4.3/jboss/log/server.log and found the jaws can't judge the table already exists or not. Please refer to the follow message I copy from the server.log:
      [JAWS] Initializing JAWS plugin for Test
      [JAWS] Loading standardjaws.xml : file:/D:/WEBHRMS/JBoss-2.4.3_Tomcat-3.2.3/jboss/conf/tomcat/standardjaws.xml
      [JAWS] jar:file:/D:/WEBHRMS/JBoss-2.4.3_Tomcat-3.2.3/jboss/tmp/deploy/Default/hrms.ear/ejb1004.jar!/META-INF/jaws.xml found. Overriding defaults
      [JAWS] Init SQL: CREATE TABLE test (CODE_NAME VARCHAR(255) BINARY,DESC_NAME VARCHAR(255) BINARY)
      [JAWS] Destroy SQL: DROP TABLE test
      [JAWS] Exists SQL: SELECT COUNT(*) FROM test WHERE CODE_NAME=?
      [JAWS] AutoGenerated finders - Home=interface com.ncsi.pa.ejb.eb.TestHome -- LocalHome=null
      [JAWS] Save AutoGenerated findAll public abstract java.util.Collection com.ncsi.pa.ejb.eb.TestHome.findAll() throws java.rmi.RemoteException,javax.ejb.FinderException
      [JAWS] findAll SQL: SELECT CODE_NAME FROM test
      [JAWS] Create SQL: INSERT INTO test (CODE_NAME,DESC_NAME) VALUES (?,?)
      [JAWS] Remove SQL: DELETE FROM test WHERE CODE_NAME=?
      [JAWS] Load SQL: SELECT test.CODE_NAME,test.DESC_NAME FROM test WHERE CODE_NAME=?
      [JAWS] Load SQL: SELECT test.CODE_NAME,test.DESC_NAME FROM test WHERE CODE_NAME=?
      [JAWS] Store SQL: UPDATE test SET CODE_NAME=?,DESC_NAME=? WHERE CODE_NAME=?
      here the server hangs!
      But if I shift datasource to MySSQl 4.0, everything is okey and the next statement in the server.log should be
      [JAWS] Table 'test' already exists
      [Container factory] Begin java:comp/env for EJB: DataSourceFinder
      ......
      ......


      FYI, I can run a simple standalone java class that can connect to the same database and execute sql statement.

      Why? I prefer to use the
      container managed. Is InterBase CMP executable on Jboss2.4.3? I have struggled with this problem for several days! You are so appreciated!