On Dec 5, 2006, at 11:16 PM, Per Newgro wrote:

Hi *,

afaik BMT means bean managed transactions.

I use SFSB defined in the following way:

  <session>
    <ejb-name>ExportDatabaseUC</ejb-name>
    <home>my.common.ejb.UseCaseHome</home>
    <remote>my.common.ejb.UseCaseRemote</remote>
    <ejb-class>my.misc.backup.ejb.ExportDatabaseUcEJB</ejb-class>
    <session-type>Stateful</session-type>
    <transaction-type>Bean</transaction-type>
    <resource-ref>
      <res-ref-name>APPLDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
    </resource-ref>
    <resource-ref>
      <res-ref-name>APPLDBnoTx</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
    </resource-ref>
  </session>

If i get a connection from the APPLDBnoTx i try to set the autoCommit flag to false. But then i get a SQLException from openejbs JdbcConnection "The commit state is managed by container" (not the exact words). But this confuses me a little because i use BMT. It would realy be great if someone could explain
this to me (maybe i'm completely wrong).

Hi Per,

What we lack is the ability for you to turn this off/on on a per Connector basis. It wouldn't matter whether the bean is BMT vs CMT as the real designation is on the DataSource which could be passed around to any other bean BMT or CMT. I.e. the connection is setup either as local transactions only or JTA transactions -- a BMT could use either but the pooling rules are different for each.

We can definitely add this. Couple questions, would you consider trying out OpenEJB 3 (it's java5 only) and how soon do you need this?

-David



Reply via email to