Fernando Bernardino wrote:

All right Armin, sorry... I can't undestand your previous email,

That doesn't matter, I can't understand most of my mails too ;-)

but now I',
studing more...
But tell me, ODMG-api is more simple to use with managed enviroment and
stateless session beans?


There is no difference in use. In both cases it's not allowed to start/commit/rollback api-dependent transactions. In my opinion the PB-api is easier to use - obtain the PB in session bean method, use it, close it.


regards,
Armin


Thanks,

Fernando Bernardino


----- Original Message ----- From: "Armin Waibel" <[EMAIL PROTECTED]> To: "OJB Users List" <[EMAIL PROTECTED]> Sent: Wednesday, November 17, 2004 2:55 PM Subject: Re: Error with ConnectionManagerImpl...



Hi Fernando,

the exception when using PersistenceBrokerFactorySyncImpl is correct:

java.lang.UnsupportedOperationException: In managed environments only
JTA transaction demarcation allowed
at


org.apache.ojb.broker.core.PersistenceBrokerFactorySyncImpl$PersistenceBroke rSyncImpl.abortTransaction(Unknown

Source)
at


org.apache.ojb.broker.core.DelegatingPersistenceBroker.abortTransaction(Unkn own

Source)
at br.com.ptcom.webField.dao.BaseDAO.insert(BaseDAO.java:41)

As I said in my previous mail, in managed environments only JTA-tx
demarcation is allowed (declare container managed tx in your deployment
descriptor or lookup via JNDI a UserTransaction in your bean).
So, if you use PB-tx demarcation an exception will be thrown.

Here is an example for using PB-api within a session bean and container
managed transaction


http://cvs.apache.org/viewcvs.cgi/db-ojb/src/ejb/org/apache/ojb/ejb/pb/PBSes sionBean.java?rev=1.5.2.1&view=markup

Note that you first have to provide a JTA-tx (when using container
managed tx all session bean method calls have a running tx, when using
UserTransaction first lookup the tx) and then obtain a PB instance from
the PBF.

regards,
Armin


Fernando Gomes Bernardino wrote:

Hi again,

Armin, I'm using a new properties, based on the ojb guides.You can see

in:

http://fgbernardino.vo6.net/ojb.properties_1711.htm

My enviroment is JBoss 3.2.5, I'm using JNDI and DataSource. I'm using

PB-Api, this way:

public BaseDAO(){
try{
 broker =

PersistenceBrokerFactoryFactory.instance().defaultPersistenceBroker();

 }catch(Exception e){
  e.printStackTrace();
 }
}

public void insert(Object object) throws DAOException{
 try {
  broker.beginTransaction();
  broker.store(object);
  broker.commitTransaction();
 } catch (Exception e) {
  try {
   broker.abortTransaction();
  } catch (TransactionNotInProgressException e1) {
   throw new DAOException(e);
  }
  throw new DAOException(e);
 } finally {
  broker.close();
 }
}


If I use the "PersistenceBrokerFactoryClass= org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl" , I can store the object but an error is showed: http://fgbernardino.vo6.net/error_DefaultImpl_today.htm

But, if I change to
"PersistenceBrokerFactoryClass=
org.apache.ojb.broker.core.PersistenceBrokerFactorySyncImpl" ,
I can't store the object, an error is showed when I do
"broker.beginTransaction()" :
http://fgbernardino.vo6.net/error_syncImpl.htm

I'm looking to .properties but I can't find nothing...
Thanks a lot for your time and sorry about the links, but if I send an

large email, it's return to me...

Thanks,

Fernando Bernardino


--------------------------------- Yahoo! Acesso Gr�tis - Internet r�pida e gr�tis. Instale o discador

agora!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to