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

Reply via email to