check out the bad name on your session bean. Looks like that could be an
issue.

<container-transaction>
<method>
    <ejb-name>LogEntEJB</ejb-name>     <!----- should be MyEntEJB -->
    <method-name>*</method-name>
   </method>
   <method>
    <ejb-name>EntUtenteEJB</ejb-name>
    <method-name>*</method-name>
   </method>
  </container-transaction>

regards,

the elephantwalker

.ps We use transaction control with Oracle, and roll backs are only a
problem when there
is a "time-out" issue. That is, Oracle times out on the transaction before
the server is finished.

If you have nested transactions, are some of them still pending? I mean, a
sfsb is around as long as the session is open or the session times out.
Usually the session time-out is 56 minutes in orion, unless you change it.
Your Oracle time-out is 30 minutes. That mismatch could be the issue.



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of J Davis
Sent: Friday, July 13, 2001 7:44 AM
To: Orion-Interest
Subject: RE: Transaction problems


We would also be interested in a solution to this problem as we have
encountered the same thing.  We are using 1.5.2 and Oracle 8.1.6 for our
situation.
We have also run into an issue where if you start a transaction and
inside hit a lot of different data/ejbs the Orion server maxes out it's
CURSOR allocation to oracle.  It creates a new connection and continues
on, but the error is thrown to the logs and can cause some code to skip
steps (due to catching the exception). We were assuming that since the
transaction was still open Orion was not closing any cursors to wait for
a commit, but we don't really know what is going on in the background.

Any ideas?

Greg


-----Original Message-----
From: Christian Bagnoli [mailto:[EMAIL PROTECTED]]
Sent: Friday, July 13, 2001 6:00 AM
To: Orion-Interest
Subject: Transaction problems


Hi,

we're implementing an entity bean with transactional (container managed)
methods. This bean is accessed by
a session statefull bean. We have transactional problem when a method
fails
(that is throws an EJBException) because orion doesn't rollback the
transaction.
Does anybody figure out how to make orion rollback the transaction?
We have also tried with a session stateless/stateful having the same
problem
.
Also implementing the SessionSycronization interface doesn't trap the
transaction
boundaries.

Our data-source.xml is:

<data-source
  class="com.evermind.sql.DriverManagerDataSource"
  name="SetmoveDS"
  location="jdbc/SetmoveDS"
  xa-location="jdbc/xa/MySetmoveDS"
  ejb-location="jdbc/myEJBDS"
  connection-driver="oracle.jdbc.OracleDriver"
  username="test"
  password="test"
  url="jdbc:oracle:thin:test/test@testsun:1521:test"
  inactivity-timeout="30"
 />

we use orion 1.5.2.

the ejb-jar.xml is:
.....
 <session>
   <display-name>LogEntJAR</display-name>
   <description>LogEntJAR</description>
   <ejb-name>MyLogEnt</ejb-name>
   <home>setmove.beans.logica.LogEntHome</home>
   <remote>setmove.beans.logica.LogEnt</remote>
   <ejb-class>setmove.beans.logica.LogEntEJB</ejb-class>
   <session-type>Stateful</session-type>
   <transaction-type>Container</transaction-type>
   <ejb-ref>
    <ejb-ref-name>MyEntUtente</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <home>setmove.beans.logica.EntUtenteHome</home>
    <remote>setmove.beans.logica.EntUtente</remote>
   </ejb-ref>
  </session>
.....
  <entity>
   <display-name>EntUtenteJAR</display-name>
   <description>EntUtenteJAR</description>
   <ejb-name>MyEntUtente</ejb-name>
   <home>setmove.beans.logica.EntUtenteHome</home>
   <remote>setmove.beans.logica.EntUtente</remote>
   <ejb-class>setmove.beans.logica.EntUtenteEJB</ejb-class>
   <persistence-type>Bean</persistence-type>
   <prim-key-class>java.lang.String</prim-key-class>
   <reentrant>false</reentrant>
   <resource-ref>
    <description>description</description>
    <res-ref-name>jdbc/SetmoveDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
   </resource-ref>
  </entity>
.....
<container-transaction>
<method>
    <ejb-name>LogEntEJB</ejb-name>
    <method-name>*</method-name>
   </method>
   <method>
    <ejb-name>EntUtenteEJB</ejb-name>
    <method-name>*</method-name>
   </method>
  </container-transaction>

thanks a lot.

Christian







Reply via email to