[jboss-user] [JBoss Seam] - IllegalStateException: No Transaction: what have I missed?

weliwarmer do-not-reply at jboss.com
Tue Sep 4 08:13:26 EDT 2007


Hi,

I am maintaining someone else's code that uses JBoss Seam 1.1.0 GA.  I'm just struggling with loading a DataModel: an IllegalStateException is thrown when the database query is run, stating that there is "No Transaction".  I have just copied an existing, working bean so if someone could point out what I have missed, I would be grateful.

Thanks, Tim


Stack Trace....

anonymous wrote : 
  | java.lang.IllegalStateException: No transaction.
  |       at org.jboss.tm.TxManager.setRollbackOnly(TxManager.java:751)
  |       at org.hibernate.ejb.AbstractEntityManagerImpl.markAsRollback(AbstractEntityManagerImpl.java:392)
  |       at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:545)
  |       at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:567)
  |       at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:90)
  |       at org.jboss.ejb3.entity.ExtendedEntityManager.createNamedQuery(ExtendedEntityManager.java:134)

Session Bean.....


  | @Stateful
  | @Name("blogFinder")
  | @Scope(ScopeType.CONVERSATION)
  | @TransactionAttribute(NOT_SUPPORTED)
  | public class BlogFinderAction implements BlogFinder, Serializable {
  | 
  | ...
  | 
  |       @PersistenceContext(type = EXTENDED)
  |       private EntityManager em;
  | 
  |       @DataModel
  |       private List<Blog> latestBlogs;
  | 
  |       @DataModelSelection("latestBlogs")
  |       @Out(required = false, scope = ScopeType.CONVERSATION)
  |       private Blog latestBlog;
  | 
  |       @SuppressWarnings("unchecked")
  |       @Factory("latestBlogs")
  |       public void doBlogSearch() {
  |             latestBlogs = null;
  |             latestBlogs = em.createNamedQuery("blog.findAll").getResultList();
  |             logger.debug("Retrieving articles for " + latestBlogs.size()
  |                               + " blogs");
  |       }

...  entity bean .....


  | @Entity
  | @Table(name="Blogs")
  | 
  | @NamedQueries(value=
  |       {
  |         @NamedQuery(name="findAll",
  |                     query="SELECT " +
  |                           "  a " +
  |                           "FROM " +
  |                           "  Blog AS a ")
  |       }
  | 
  | )
  | 
  | public class Blog implements Serializable {
  | 
  |   private static final Logger LOG = Logger.getLogger(Blog.class) ;
  |  
  |   private String url;
  | 
  |   @Id
  |   @Column(name="URL")
  |   @Length(min=0, max=1000, message="URL must be between 0 and 1000 characters.")
  |   public String getUrl() {
  |     return url ;
  |   }
  | 
  |   public void setUrl(String url) {
  |     this.url = url ;
  |   }
  | }

.... jsf ....


  |           <t:dataList value="#{latestBlogs}" var="blogArticle" rendered="#{not empty latestBlogs}">
  |               article...
  |               #{blogArticle.url}
  |           </t:dataList>
  | 

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

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



More information about the jboss-user mailing list