Your going to have to create a bug report with a testcase as I certainly don't see this behavior. Submit the bug report here: https://sourceforge.net/tracker/?group_id=22866&atid=376685
-- xxxxxxxxxxxxxxxxxxxxxxxx Scott Stark Chief Technology Officer JBoss Group, LLC xxxxxxxxxxxxxxxxxxxxxxxx
Martin Vilcans wrote:
I've got a big problem with commit-option A and CMP beans and it looks like a JBoss bug, but as I haven't found anything about it in the bug tracker or the mailing list, it might be that I'm doing something wrong.
The problem is that when I call a CMP setter on a bean with commit-option A, the new value is correctly stored in the database, but the value is not updated in the cached bean. So if I call for instance setFoo(42), the foo column in the database is updated to 42, but if I then call getFoo(), I get the old value back. If I flush the EJB cache or simply restart the server, the correct value is fetched from the database, and getFoo() returns the correct value.
One weirdness is that if I call getFoo() immediately after setFoo() (in the same transaction?) I get the correct value back. It's like the EJB is rolled back at the end of the transaction.
The behaviour is the same no matter if I call the setters inside or outside a transaction when I call the EEJB through a local interface. If I call it through the remote interface, I get "java.lang.IllegalStateException: There is no tranaction (sic!) associated with the current thread" when I call the setter without a transaction, and the same behaviour as with the local interface if I call it within a transaction.
I've tried both JBoss 3.2.1 and 3.2.2RC3 and got the same results.
Here are the relevant parts of the deployment of one of the beans:
jboss.xml:
<entity> <ejb-name>CalendarItem</ejb-name> <jndi-name>CalendarItem</jndi-name> <local-jndi-name>CalendarItemLocal</local-jndi-name> <read-only>false</read-only> <configuration-name>CMP 2.x and Cache</configuration-name> </entity> . . <container-configurations> <container-configuration extends="Standard CMP 2.x EntityBean"> <container-name>CMP 2.x and Cache</container-name> <commit-option>A</commit-option> </container-configuration> </container-configurations>
jbosscmp-jdbc.xml:
<entity> <ejb-name>CalendarItem</ejb-name> <create-table>true</create-table> <remove-table>false</remove-table> <read-only>false</read-only> <table-name>calendarItem</table-name>
<cmp-field> <field-name>body</field-name> <column-name>body</column-name> </cmp-field> <cmp-field> <field-name>celebrityId</field-name> <column-name>celebrityId</column-name> <jdbc-type>SMALLINT</jdbc-type> <sql-type>SMALLINT UNSIGNED</sql-type> </cmp-field> <cmp-field> <field-name>day</field-name> <column-name>day</column-name> </cmp-field> <cmp-field> <field-name>ordinal</field-name> <column-name>ordinal</column-name> </cmp-field> <cmp-field> <field-name>week</field-name> <column-name>week</column-name> </cmp-field>
The database is MySQL 4.0.13 through mysql-connector-java-3.0.8-stable-bin.jar.
If this is a JBoss bug, I can't see how I can be the only one with this problem. If noone recognizes this problem, I'll try to create a simple test case to reproduce this behaviour, but for now I just need to know if I'm alone. :-)
Martin
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user