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 */