Hi
I've almost got the CD example working for Sybase; it creates the table
correctly but fails to correctly persist the records. I believe it has
something to do with the primary key, but am not sure. Please find attached
the relevant sections from jaws.xml, ejb-jar.xml and the console output.
Thanks for your help.
Jaws.xml
<enterprise-beans>
<entity>
<ejb-name>CDBean</ejb-name>
<table-name>CD</table-name>
<create-table>true</create-table>
<remove-table>false</remove-table>
<tuned-updates>true</tuned-updates>
<read-only>false</read-only>
<time-out>300</time-out>
<cmp-field>
<field-name>id</field-name>
<column-name>ID</column-name>
<sql-type>VARCHAR(255) NULL</sql-type>
<jdbc-type>VARCHAR</jdbc-type>
</cmp-field>
<cmp-field>
<field-name>title</field-name>
<column-name>TITLE</column-name>
<sql-type>VARCHAR(255) NULL</sql-type>
<jdbc-type>VARCHAR</jdbc-type>
</cmp-field>
<cmp-field>
<field-name>artist</field-name>
<column-name>ARTIST</column-name>
<sql-type>VARCHAR(255) NULL</sql-type>
<jdbc-type>VARCHAR</jdbc-type>
</cmp-field>
<cmp-field>
<field-name>type</field-name>
<column-name>TYPE</column-name>
<sql-type>VARCHAR(255) NULL</sql-type>
<jdbc-type>VARCHAR</jdbc-type>
</cmp-field>
<cmp-field>
<field-name>notes</field-name>
<column-name>NOTES</column-name>
<sql-type>VARCHAR(255) NULL</sql-type>
<jdbc-type>VARCHAR</jdbc-type>
</cmp-field>
</entity>
</enterprise-beans>
ejb-jar.xml
<entity>
<description>Models a music CD</description>
<ejb-name>CDBean</ejb-name>
<home>com.nomura.ecommerce.test.CDHome</home>
<remote>com.nomura.ecommerce.test.CD</remote>
<ejb-class>com.nomura.ecommerce.test.CDBean</ejb-class>
<persistence-type>Container</persistence-type>
<reentrant>False</reentrant>
<prim-key-class>java.lang.String</prim-key-class>
<cmp-field>
<field-name>id</field-name>
</cmp-field>
<cmp-field>
<field-name>title</field-name>
</cmp-field>
<cmp-field>
<field-name>artist</field-name>
</cmp-field>
<cmp-field>
<field-name>type</field-name>
</cmp-field>
<cmp-field>
<field-name>notes</field-name>
</cmp-field>
<primkey-field>id</primkey-field>
<resource-ref>
<description>Database</description>
<res-ref-name>CDDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</entity>
console output
[CDCollectionBean] Added CD with id=1, title=Great Organ Works/Bach JS,
artist=Koopman, type=classical, organ, notes=Incl. Toccata & Fugue in D
minor
[CDCollectionBean] *1*
[Default] org.jboss.tm.TxManager@afb2778a
[CDBean] Calling the next invoker in runInvokeHome
[JAWS] Create, id is 1
[JAWS] SQL:SELECT COUNT(*) AS Total FROM CD WHERE ID=?
[CDBean] Set parameter:1
[JAWS] Object count:0
[JAWS] Insert
[JAWS] SQL:INSERT INTO CD (ARTIST,TITLE,TYPE,ID,NOTES) VALUES (?,?,?,?,?)
[CDBean] Set parameter:1
[CDCollectionBean] *2*
[CDBean] Calling the next invoker in runInvoke
[CDBean] setTitle(Great Organ Works/Bach JS)
[CDBean] CURRENTSTATE Inull
[CDBean] OLDSTATE ARRAY[Ljava.lang.Object;@18a2778b
[CDBean] CURRENTSTATE IGreat Organ Works/Bach JS
[CDBean] OLDSTATE ARRAY[Ljava.lang.Object;@18a2778b
[CDBean] CURRENTSTATE Inull
[CDBean] OLDSTATE ARRAY[Ljava.lang.Object;@18a2778b
[CDBean] CURRENTSTATE I1
[CDBean] OLDSTATE ARRAY[Ljava.lang.Object;@18a2778b
[CDBean] CURRENTSTATE Inull
[CDBean] OLDSTATE ARRAY[Ljava.lang.Object;@18a2778b
[CDBean] Set parameter:Great Organ Works/Bach JS
[CDBean] java.rmi.ServerException: Store failed; nested exception is:
[CDBean] java.rmi.ServerException: Store failed; nested exception is:
[CDBean] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
[CDBean] java.rmi.ServerException: Store failed; nested exception is:
[CDBean] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
[CDBean] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
[CDBean] at java.util.ArrayList.RangeCheck(ArrayList.java, Compiled
Code)
[CDBean] at java.util.ArrayList.get(ArrayList.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.getPkFieldValue(JAWSPersis
tenceManager.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.storeEntity(JAWSPersistenc
eManager.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenceManage
r.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchron
izationInterceptor.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterce
ptor.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.TxInterceptor$RunInvoke.run(TxInterceptor.java,
Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.TxInterceptor.runWithTransactions(TxInterceptor.java,
Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.TxInterceptor.invoke(TxInterceptor.java, Compiled
Code)
[CDBean] at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java,
Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java, Compiled
Code)
[CDBean] at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java, Compiled Code)
[CDBean] at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java, Compiled Code)
[CDBean] at java.lang.reflect.Method.invoke(Native Method)
[CDBean] at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java, Compiled
Code)
[CDBean] at sun.rmi.transport.Transport$1.run(Transport.java,
Compiled Code)
[CDBean] at java.security.AccessController.doPrivileged(Native
Method)
[CDBean] at sun.rmi.transport.Transport.serviceCall(Transport.java,
Compiled Code)
[CDBean] at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java,
Compiled Code)
[CDBean] at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java,
Compiled Code)
[CDBean] at java.lang.Thread.run(Thread.java, Compiled Code)
[CDCollectionBean] java.rmi.RemoteException: java.rmi.ServerException:
RemoteException occurred in server thread; nested exception is:
[CDCollectionBean] java.rmi.ServerException: Store failed; nested
exception is:
[CDCollectionBean] java.rmi.ServerException: Store failed; nested
exception is:
[CDCollectionBean] java.lang.IndexOutOfBoundsException: Index: 0, Size:
0
[CDCollectionBean] at
com.nomura.ecommerce.test.CDCollectionBean.addCd(CDCollectionBean.java,
Compiled Code)
[CDCollectionBean] at java.lang.reflect.Method.invoke(Native Method)
[CDCollectionBean] at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java, Compiled Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java, Compiled Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.TxInterceptor$RunInvoke.run(TxInterceptor.java,
Compiled Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.TxInterceptor.runWithTransactions(TxInterceptor.java,
Compiled Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.TxInterceptor.invoke(TxInterceptor.java, Compiled
Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java,
Compiled Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java, Compiled
Code)
[CDCollectionBean] at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a, Compiled Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java, Compiled Code)
[CDCollectionBean] at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java, Compiled Code)
[CDCollectionBean] at java.lang.reflect.Method.invoke(Native Method)
[CDCollectionBean] at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java, Compiled
Code)
[CDCollectionBean] at sun.rmi.transport.Transport$1.run(Transport.java,
Compiled Code)
[CDCollectionBean] at
java.security.AccessController.doPrivileged(Native Method)
[CDCollectionBean] at
sun.rmi.transport.Transport.serviceCall(Transport.java, Compiled Code)
[CDCollectionBean] at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java,
Compiled Code)
[CDCollectionBean] at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java,
Compiled Code)
[CDCollectionBean] at java.lang.Thread.run(Thread.java, Compiled Code)
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Problems?: [EMAIL PROTECTED]