Hi again,

I was wrong with my previous mail, all looks fine you set the jdbc type.

> Caused by: org.apache.ojb.broker.OJBRuntimeException: The type INTEGER
> can not be handled by OJB. Please specify only types as defined by
> java.sql.Types.

hmm, could there be a space in the jdbc type declaration for Catalina repository file? Maybe something like 'INTEGER ' was passed to JdbcTypesHelper class.

regards,
Armin

Bilge (Erkan) Yuceer wrote:
Hi Armin,

Thanks a lot for your answer. I enabled DEBUG mode for the class org.apache.ojb.broker.metadata.RepositoryXmlHandler.
I get the following output in catalina.out file (log output file of Tomcat) while I get the next output from my standalone application. As I have mentioned before they both use the same repository.xml


And here is my repository.xml file
------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE descriptor-repository PUBLIC
      "-//Apache Software Foundation//DTD OJB Repository//EN"
      "repository.dtd"
[

<!ENTITY database SYSTEM "repository_database.xml">

<!ENTITY user SYSTEM "repository_user.xml">
]>


<descriptor-repository version="1.0" isolation-level="read-uncommitted" proxy-prefetching-limit="50">

   <!-- include all used database connections -->
   <!-- &database; -->
  <jdbc-connection-descriptor
          jcd-alias="default"
          default-connection="true"
          platform="MySQL"
          jdbc-level="2.0"
          driver="org.gjt.mm.mysql.Driver"
          protocol="jdbc"
          subprotocol="mysql"
          dbalias="//localhost:3306/mydb"
          username="myusername"
          password="mypassword"
       eager-release="false"
          batch-mode="false"
       useAutoCommit="1"
       ignoreAutoCommitExceptions="false"
    >

       <connection-pool
           maxActive="21"
           validationQuery="" />

<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
<attribute attribute-name="grabSize" attribute-value="20"/>
<attribute attribute-name="autoNaming" attribute-value="true"/>
<attribute attribute-name="globalSequenceId" attribute-value="false"/>
<attribute attribute-name="globalSequenceStart" attribute-value="10000"/>
</sequence-manager>
</jdbc-connection-descriptor>
<!-- include user defined mappings here -->
<!-- &user; -->


  <class-descriptor
        class="nomorex.storex.UserOJB"
        table="USERS"
  >
     <field-descriptor
        name="id"
        column="ID"
        jdbc-type="INTEGER"
        primarykey="true"
        autoincrement="true"
     />
     <field-descriptor
        name="username"
        column="USERNAME"
        jdbc-type="VARCHAR"
     />
     <field-descriptor
        name="name"
        column="NAME"
        jdbc-type="VARCHAR"
     />
     <field-descriptor
        name="surname"
        column="SURNAME"
        jdbc-type="VARCHAR"
     />
     <field-descriptor
        name="passwd"
        column="PASSWD"
        jdbc-type="VARCHAR"
     />
  </class-descriptor>

</descriptor-repository>



output in catalina.out file (output file of Tomcat)
--------------------------------------------------------------------------
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: startDoc
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: proxy-prefetching-limit: 50
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > descriptor-repository
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=grabSize, value=20) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=autoNaming, value=true) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=globalSequenceId, value=false) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=globalSequenceStart, value=10000) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < documentation
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > class-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: isolation-level: read-uncommitted
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: class: nomorex.storex.UserOJB
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: proxy: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: proxy-prefetching-limit: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: table: USERS
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: row-reader: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: extends: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: accept-locks: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: accept-locks: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: initialization-method: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: factory-class: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: factory-method: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: refresh: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: name: id
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: column: ID
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: jdbc-type: INTEGER


As seen here it stops at this point just after reading INTEGER jdbc-type and gives the following error:

Caused by: org.apache.ojb.broker.OJBRuntimeException: The type INTEGER can not be handled by OJB. Please specify only types as defined by java.sql.Types.
at org.apache.ojb.broker.util.JdbcTypesHelper.getJdbcTypeByName(Unknown Source)
at org.apache.ojb.broker.metadata.FieldDescriptor.lookupJdbcType(Unknown Source)
at org.apache.ojb.broker.metadata.FieldDescriptor.setColumnType(Unknown Source)



Output of my standalone test application
-----------------------------------------------------------
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: startDoc
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: proxy-prefetching-limit: 50
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > descriptor-repository
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=grabSize, value=20) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=autoNaming, value=true) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=globalSequenceId, value=false) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] INFO: Found attribute (name=globalSequenceStart, value=10000) but I can not assign them to a descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < attribute
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < documentation
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > class-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: isolation-level: read-uncommitted
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: class: nomorex.storex.UserOJB
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: proxy: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: proxy-prefetching-limit: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: table: USERS
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: row-reader: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: extends: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: accept-locks: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: accept-locks: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: initialization-method: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: factory-class: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: factory-method: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: refresh: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: name: id
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: column: ID
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: jdbc-type: INTEGER
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: primarykey: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: nullable: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: indexed: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: autoincrement: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: sequence-name: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: locking: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: update-lock: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: conversion: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: name: username
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: column: USERNAME
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: jdbc-type: VARCHAR
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: primarykey: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: nullable: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: indexed: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: autoincrement: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: sequence-name: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: locking: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: update-lock: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: conversion: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: name: name
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: column: NAME
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: jdbc-type: VARCHAR
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: primarykey: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: nullable: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: indexed: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: autoincrement: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: sequence-name: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: locking: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: update-lock: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: conversion: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: name: surname
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: column: SURNAME
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: jdbc-type: VARCHAR
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: primarykey: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: nullable: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: indexed: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: autoincrement: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: sequence-name: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: locking: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: update-lock: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: conversion: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: > field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: name: passwd
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: column: PASSWD
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: jdbc-type: VARCHAR
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: primarykey: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: nullable: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: indexed: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: autoincrement: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: sequence-name: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: locking: false
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: update-lock: true
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: conversion: null
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < field-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < class-descriptor
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: < descriptor-repository
[org.apache.ojb.broker.metadata.RepositoryXmlHandler] DEBUG: endDoc


Standalone application reads the class descriptor completely without any problems.

-----

Armin Waibel wrote:

Hi,

> Caused by: org.apache.ojb.broker.OJBRuntimeException: The type INTEGER
> can not be handled by OJB. Please specify only types as defined by
> java.sql.Types.

please specify the jdbc type in your field-descriptor e.g.

<field-descriptor
         name="id"
         column="OBJ_ID"
         jdbc-type="INTEGER"
      />

(OJB try to match right type by reflection, but seems not to work for non primitive number classes, will fix this)

to get more logging info enable debug mode for class
org.apache.ojb.broker.metadata.RepositoryXmlHandler
in OJB.properties file (or in properties file of used logging api)

regards,
Armin




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to