Now I'm able to see the Exception..the problem occurs when I try to register a 
user to a source that does not exist yet. The Exception throwed is:


  | javax.ejb.EJBTransactionRolledbackException: 
org.hibernate.HibernateException: this instance does not yet exist as a row in 
the database
  |      [java]     at 
org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)
  |      [java]     at 
org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
  |      [java]     at 
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
  |      [java]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |      [java]     at 
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  |      [java]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |      [java]     at 
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
  |      [java]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |      [java]     at 
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
  |      [java]     at 
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
  |      [java]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |      [java]     at 
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
  |      [java]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |      [java]     at 
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  |      [java]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |      [java]     at 
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:214)
  |      [java]     at 
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:184)
  |      [java]     at 
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:81)
  |      [java]     at $Proxy203.createSources(Unknown Source)
  |      [java]     at 
nc.session.facade.admin.AdminSessionFacadeBean.addSourceToUser(AdminSessionFacadeBean.java:191)
  | 

I also found a patch to this...I entered this lines in the code:

  logger.debug("New Source (not found in Db): adding user to it");
  |                        src=SourceAssembler.createSource(s);
  |                        logger.debug("Source created: "+src.getSourceId()+", 
"+src.getUrl());
  |                        manager.persist(src);
  |                        manager.flush();
  |                            list = new ArrayList<User>();
  |                            list.add(user);
  |                        src.setUsers(list);
  |                        manager.persist(src);
  | 

However, why do I need to make the source persistent and synching with the 
database before adding user to it?? In all examples the persist method is 
called only once and without any flush!!

Any suggest?

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4107397
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to