Caused by javax.el.MethodNotFoundException with message: "Method not found: Proxy to jboss.j2ee:ear=: Although Method is Present
olasamuel Jan 15, 2011 3:14 AMHi All,
Please help me and tell me what I am doing wrong
I have this class with the method deleteSubscriber()
import java.io.Serializable;
import java.util.List;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Transactional;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.jsf.ListDataModel;
import entity.Subscriber;
@Stateful
@Scope(ScopeType.SESSION)
@Name("subscriberManager")
public class SubscriberManagerBean implements SubscriberManager, Serializable
{
private static final long serialVersionUID = 585890184804254523L;
@DataModel(scope=ScopeType.PAGE)
//private List<Subscriber> subscriberList; //This variable is part of an effort to get a subscriber removed
@In
@PersistenceContext(type=PersistenceContextType.EXTENDED)
private EntityManager entityManager;
@DataModelSelection
@In(create=true)
@Out(required=false)
private Subscriber subscriber;
@Begin(join=true)
public String createSubscriber(){
subscriber = new Subscriber();
return "success";
}
@Transactional
public void deleteSubscriber(Integer id){
subscriber = new Subscriber();
System.out.println("I got here FIRST");
subscriber=entityManager.find(Subscriber.class, id);
System.out.println("I got here");
entityManager.remove(subscriber);
//subscriber = null;
}
@Destroy
@Remove
public void destroy() {}
@End
public String saveSubscriber() {
entityManager.persist(subscriber);
@SuppressWarnings("unchecked")
List<Subscriber> subscribers = entityManager.createQuery("Select s from Subscriber s").getResultList();
Contexts.getSessionContext().set("subscribers", new ListDataModel(subscribers));
return "success";
}
}
I have this interface
import javax.ejb.Local;
@Local
public interface SubscriberManager {
public String createSubscriber();
public String saveSubscriber();
public void deleteSubscriber(Integer id);
public void destroy();
}
But I still get this error even though the method is present. Someone please help me
Please help me and tell me what I am doing wrong
I have this class with the method deleteSubscriber()
import java.io.Serializable;
import java.util.List;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Transactional;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.jsf.ListDataModel;
import entity.Subscriber;
@Stateful
@Scope(ScopeType.SESSION)
@Name("subscriberManager")
public class SubscriberManagerBean implements SubscriberManager, Serializable
{
private static final long serialVersionUID = 585890184804254523L;
@DataModel(scope=ScopeType.PAGE)
//private List<Subscriber> subscriberList; //This variable is part of an effort to get a subscriber removed
@In
@PersistenceContext(type=PersistenceContextType.EXTENDED)
private EntityManager entityManager;
@DataModelSelection
@In(create=true)
@Out(required=false)
private Subscriber subscriber;
@Begin(join=true)
public String createSubscriber(){
subscriber = new Subscriber();
return "success";
}
@Transactional
public void deleteSubscriber(Integer id){
subscriber = new Subscriber();
System.out.println("I got here FIRST");
subscriber=entityManager.find(Subscriber.class, id);
System.out.println("I got here");
entityManager.remove(subscriber);
//subscriber = null;
}
@Destroy
@Remove
public void destroy() {}
@End
public String saveSubscriber() {
entityManager.persist(subscriber);
@SuppressWarnings("unchecked")
List<Subscriber> subscribers = entityManager.createQuery("Select s from Subscriber s").getResultList();
Contexts.getSessionContext().set("subscribers", new ListDataModel(subscribers));
return "success";
}
}
I have this interface
import javax.ejb.Local;
@Local
public interface SubscriberManager {
public String createSubscriber();
public String saveSubscriber();
public void deleteSubscriber(Integer id);
public void destroy();
}
But I still get this error even though the method is present. Someone please help me