Amigos,
fiz uma aplicação simples e o programa me retorna um ClienteFacade not bound.
Alguém pode ajudar?
Classe Cliente
@Entity
@Table
public class Cliente implements Serializable {
private static final long serialVersionUID = -4751268075175800627L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column
private Integer idCliente;
@Column
private String nome;
// Construtores + GetSet
Interface Local
package facade;
import javax.ejb.Local;
import entity.Cliente;
@Local
public interface ClienteFacadeLocal {
void save(Cliente c);
}
Inferface Remote
package facade;
import javax.ejb.Remote;
import entity.Cliente;
@Remote
public interface ClienteFacadeRemote {
void save(Cliente c);
}
Meu ClienteFacade
package facade;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import entity.Cliente;
@Stateless
public class ClienteFacade implements ClienteFacadeLocal, ClienteFacadeRemote {
@PersistenceContext(unitName = "persistLocadora")
EntityManager em;
@Override
public void save(Cliente c) {
em.persist(c);
}
}
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="persistLocadora">
<jta-data-source>java:/DSmysql</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.hbm2dll.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099
E por fim, meu Controle
protected void execute(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Cliente cliente = new Cliente(null, "Romulo");
try {
Context c = new InitialContext();
ClienteFacadeRemote ejb = (ClienteFacadeRemote) c
.lookup("ClienteFacade/remote");
ejb.save(cliente);
response.getWriter().print("Dados cadastrados com sucesso.");
} catch (Exception e) {
response.getWriter().print(e.getMessage());
}
}
[color=red]ClienteFacade not bound[/color]
Ajudeem! Por favor.