I have a simple set where a client application starts a user transaction,
does create on a BMP entity bean, then simply rolls back the transaction.
the problem is that th erecords is always saved on the database server.

I traced the calls on the server and a COMMIT statement is systematically
sent to the database server.

I'm using Jonas 2.1.1. My bean is defined with the required transaction
attribute. I've included files in attachment.

Could someone please confirm this is a bug and or give me a possible
workaround !

Thanks.

GP

<!DOCTYPE jonas-ejb-jar SYSTEM "/java/work/com/bestsel/acqui/server/xml/jonas-ejb-jar.dtd">
<jonas-ejb-jar>
	<jonas-entity>
		<ejb-name>ordtitinf.ordtitinfHome</ejb-name>
		<jndi-name>ordtitinf.ordtitinfHome</jndi-name>
		<jonas-resource>
			<res-ref-name>jdbc/bestSQL</res-ref-name>
			<jndi-name>bestSQL</jndi-name>
		</jonas-resource>
	</jonas-entity>
</jonas-ejb-jar>
<!DOCTYPE ejb-jar SYSTEM "/java/work/com/bestsel/acqui/server/xml/ejb-jar_1_1.dtd">
<ejb-jar>
	<description>Deployment descriptor for the eb ordtitinf</description>
	<enterprise-beans>
		<entity>
			<ejb-name>ordtitinf.ordtitinfHome</ejb-name>
			<home>com/bestsel/acqui/server/ordtitinf/ordtitinfHome</home>
			<remote>com/bestsel/acqui/server/ordtitinf/ordtitinf</remote>
			<ejb-class>com/bestsel/acqui/server/ordtitinf/ordtitinfBean</ejb-class>
			<persistence-type>Bean</persistence-type>
			<prim-key-class>com/bestsel/acqui/server/ordtitinf/ordtitinfPK</prim-key-class>
			<reentrant>False</reentrant>
			<resource-ref>
				<res-ref-name>jdbc/bestSQL</res-ref-name>
				<res-type>javax.sql.DataSource</res-type>
				<res-auth>Container</res-auth>
			</resource-ref>
		</entity>
	</enterprise-beans>
	<assembly-descriptor>
		<container-transaction>
			<method>
				<ejb-name>ordtitinf.ordtitinfHome</ejb-name>
				<method-name>*</method-name>
			</method>
			<trans-attribute>Required</trans-attribute>
		</container-transaction>
	</assembly-descriptor>
</ejb-jar>

ordtitinfBean.java

Trans.java



Reply via email to