Dělá toto. UserBusiness je definován ve springu, připojuje se k databázi
přes hibernate a je označen @Transactional.

Martin

@Name("authenticator")
public class Authenticator {    
        @In
        Identity identity;
        @In("#{userBusiness}")
        UserBusiness userBusiness;
        @Out(required = false, scope = ScopeType.SESSION)
        User logged;

        public boolean authenticate() {
                Long id = userBusiness.checkUsername (identity.getUsername
(),identity.getPassword ());
                if (id!=null && id>0){
                        this.logged = userBusiness.getById (id);
                        return true;
                }
                return false;
    }
}

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Roman Pichlik
Sent: Thursday, November 01, 2007 1:56 PM
To: Java
Subject: Re: Chyba při vytváření transakce.

nedela cz.bellman.umm.security.Authenticator neco s Hibernatem?

Martin Chalupa napsal(a):
> Zdravím,
> 
>  
> 
> přidal jsem do aplikačního kontextu springu beanu, která implementuje 
> ApplicationListener pro zachytávání událostí v kontextu. A od té doby mi 
> aplikace vyhazuje chybu při pokusu o vytvoření transakce. Pokud beanu 
> odeberu nebo zruším implementaci rozhraní vše funguje.
> 
>  
> 
> Používám Spring 2.0.6, Seam 2.0 RC3, Hibernate 3.2.4, Session factory je 
> definovaná ve springu a seam managuje session.
> 
>  
> 
> Nenapadá vás nějaká příčina vzniku chyby?
> 
>  
> 
> Martin
> 
>  
> 
> Tady je stack trace:
> 
>  
> 
> Caused by: 
> org.springframework.transaction.CannotCreateTransactionException: Could 
> not open Hibernate Session for transaction; nested exception is 
> java.lang.IllegalStateException: Already value 
> [EMAIL PROTECTED] for key 
> [EMAIL PROTECTED] bound to thread 
> [http-8080-1]
> 
>                 at 
>
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(Hiber
nateTransactionManager.java:541)
> 
>                 at 
>
org.springframework.transaction.support.AbstractPlatformTransactionManager.g
etTransaction(AbstractPlatformTransactionManager.java:350)
> 
>                 at 
>
org.springframework.transaction.interceptor.TransactionAspectSupport.createT
ransactionIfNecessary(TransactionAspectSupport.java:262)
> 
>                 at 
>
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Tr
ansactionInterceptor.java:101)
> 
>                 at 
>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Reflect
iveMethodInvocation.java:171)
> 
>                 at 
>
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopPro
xy.java:204)
> 
>                 at $Proxy73.checkUsername(Unknown Source)
> 
>                 at 
> cz.bellman.umm.security.Authenticator.authenticate(Authenticator.java:37)
> 
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
> 
>                 at 
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
> 
>                 at 
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25
> 
>                 at java.lang.reflect.Method.invoke(Method.java:597)
> 
>                 at 
> org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> 
>                 at 
>
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext
..java:31
> 
>                 at 
>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:56
> 
>                 at 
>
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackIntercep
tor.java:31)
> 
>                 at 
>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:68
> 
>                 at 
>
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.j
ava:46)
> 
>                 at 
>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:68
> 
>                 at 
>
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInter
ceptor.java:42)
> 
>                 at 
>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:68
> 
>                 at 
> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
> 
>                 at 
>
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInt
erceptor.java:155)
> 
>                 at 
>
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java
:91)
> 
>                 at 
>
cz.bellman.umm.security.Authenticator_$$_javassist_1.authenticate(Authentica
tor_$$_javassist_1.java)
> 
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
> 
>                 at 
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
> 
>                 at 
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25
> 
>                 at java.lang.reflect.Method.invoke(Method.java:597)
> 
>                 at 
> org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
> 
>                 ... 95 more
> 
> Caused by: java.lang.IllegalStateException: Already value 
> [EMAIL PROTECTED] for key 
> [EMAIL PROTECTED] bound to thread 
> [http-8080-1]
> 
>                 at 
>
org.springframework.transaction.support.TransactionSynchronizationManager...
indResource(TransactionSynchronizationManager.java:163)
> 
>                 at 
>
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(Hiber
nateTransactionManager.java:532)
> 
>                 ... 124 more
> 
>  
> 
> --
> 
> Martin "chali" Chalupa
> 
>  
> 


-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */

Odpovedet emailem