[jboss-user] [JBoss Seam] - Re: Ending default scope SFSB's needed?

Oberiko do-not-reply at jboss.com
Wed Jan 23 16:36:10 EST 2008


Yeah, but I'm not explictly calling @Start or @End on any of my methods.  How does Seam determine when I'm finished with this session bean?


  | package org.domain.myProject.session;
  | 
  | import static javax.persistence.PersistenceContextType.EXTENDED;
  | 
  | import java.util.List;
  | 
  | import javax.ejb.Remove;
  | import javax.ejb.Stateful;
  | import javax.ejb.Stateless;
  | import javax.persistence.EntityManager;
  | 
  | import javax.persistence.PersistenceContext;
  | 
  | import org.domain.myProject.entity.EmailAddress;
  | import org.domain.myProject.entity.Person;
  | import org.domain.myProject.session.local.EditPersonLocal;
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.Destroy;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Logger;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.annotations.Scope;
  | import org.jboss.seam.contexts.Context;
  | import org.jboss.seam.contexts.Contexts;
  | import org.jboss.seam.faces.FacesMessages;
  | import org.jboss.seam.log.Log;
  | 
  | @Stateful
  | @Name("editPerson")
  | //@Scope(ScopeType.EVENT)
  | public class EditPersonForm implements EditPersonLocal {
  | 
  | 	@Logger
  | 	private Log log;
  | 	
  | 	@In
  | 	FacesMessages facesMessages;
  | 
  | 	@PersistenceContext(type = EXTENDED)
  | 	private EntityManager em;
  | 	
  | 	@In(required=false)
  | 	@Out(scope=ScopeType.PAGE)
  | 	private Person person;
  | 
  | 	@In(required=false)
  | 	@Out(required=false)
  | 	private EmailAddress emailAddress;
  | 	
  | 	public void addEmail() {
  | 		person.addEmailAddress(emailAddress);
  | 	
  | 		log.info("Email address " +emailAddress.getUrl() + " Added to "+ person.getName());
  | 		
  | 		emailAddress = new EmailAddress();
  | 	}
  | 	
  | 	public void removeEmail(EmailAddress emailAddress) {
  | 		log.info("Removing Email address " +emailAddress.getUrl());
  | 		person.removeEmailAddress(emailAddress);
  | 	}
  | 	
  | 	public void savePerson() {
  | 		if (person.getId()!=null)
  | 			em.merge(person);
  | 		else
  | 			em.persist(person);
  | 		
  | 		//Note that the id of our person was generated and populated.  
  | 		facesMessages.add("Person was saved with an id of "+ person.getId());
  | 		
  | 		log.info(person.getName() +" was saved.");
  | 	}
  | 	
  | 	public void editPerson(Person person) {
  | 		log.info("Getting Id: " + person.getId());
  | 		person = (Person) em.createQuery("from Person p where p.id =" +person.getId()).getSingleResult();
  | 	}
  | 
  | 	 @Destroy @Remove                                                                      
  |    public void destroy() {}
  | 	
  | }
  | 

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

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



More information about the jboss-user mailing list