[jboss-user] [JBoss Seam] - Re: A performance problem with Seam

bgrossi do-not-reply at jboss.com
Thu May 17 09:47:49 EDT 2007


"bulloncito" wrote : anonymous wrote : my backing bean, was calling Transactions.isTransactionMarkedRollback(...), that was trying to lookup for a name (userTransactionName). On tomcat, where
  |   | 
  |   | there are no JNDI server started, I see a lot of javax.naming.CommunicationException in my logs.
  | 
  | ... if there is a lookup, then there must be a jndi server started, otherwise transactionMakedRollback is probably useless


The Moises' problem was that the lookup and seam's transaction management IS "useless", and it's degrading performance considerably. We need an option to disable that (and other) features/interceptors... Now we have hardcoded in Component.initDefaultInterceptors():

if ( getScope()==CONVERSATION )
      {
         addInterceptor( new Interceptor( new ManagedEntityIdentityInterceptor(), this ) );
      }


and in ManagedEntityIdentityInterceptor.aroundInvoke(..) we have:
      ...
      finally
      {
         if ( !PassivatedEntity.isTransactionMarkedRollback() )
         {
            entityRefsToIds(ctx);
         }
      }


That code (PassivatedEntity.isTransactionMarkedRollback()) was trying to lookup jndi, and returning false if it's fail... (the function is correct, but causes an try to open an socket!)


Bruno E. Grossi


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4046490#4046490

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4046490



More information about the jboss-user mailing list