Hello,
I don't know if it's the right forum to ask my question here, so if it's
not, please let me know.
I am creating an small webapp to test ejb3 api and deployint it with tomee
server.
*Here is what i have in the ejb entity:*
@Entity
@Table(name = "PERSONNE")
@NamedQueries({@NamedQuery(name = "Personne.findById",
query = "SELECT p FROM Personne p WHERE p.id = :id"),
@NamedQuery(name = "Personne.findByNom",
query = "SELECT p FROM Personne p WHERE p.nom = :nom"),
@NamedQuery(name = "Personne.findByPrenom",
query = "SELECT p FROM Personne p WHERE p.prenom = :prenom")})
public class Personne implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID", nullable = false)
private Integer id;
@Column(name = "NOM")
private String nom;
@Column(name = "PRENOM")
private String prenom;
// getters and setters
...
}
*Then the interface:*
@Remote
public interface PersonneFacadeRemote {
void create(Personne personne);
void edit(Personne personne);
void remove(Personne personne);
}
*and the implementation of the interface:*
@Stateless
public class PersonneFacadeImpl implements PersonneFacadeLocal,
PersonneFacadeRemote {
@PersistenceContext
private EntityManager em;
public void create(Personne personne) {
em.persist(personne);
}
public void edit(Personne personne) {
em.merge(personne);
}
public void remove(Personne personne) {
em.remove(em.merge(personne));
}
}
*the META-INF/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="Ejb3">
<jta-data-source>java:/OracleDS</jta-data-source>
</persistence-unit>
</persistence>
*Datasource configured in the tomee.xml*
<Resource id="OraDS" type="DataSource">
JdbcDriver=oracle.jdbc.OracleDriver
JdbcUrl=jdbc:oracle:thin:@localhost:1521:XE
UserName=xeuser
Password=xeuse
</Resource>
*And finally, the test client:*
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Personne personne = new Personne();
personne.setId(1);
personne.setNom("test");
personne.setPrenom("Personne facade remote");
Properties p = new Properties();
p.setProperty("java.naming.factory.initial",
"org.apache.openejb.client.RemoteInitialContextFactory");
p.setProperty("java.naming.provider.url",
"http://localhost:8082/ejb");
InitialContext ic = new InitialContext(p);
PersonneFacadeRemote pfl = (PersonneFacadeRemote)
ic.lookup("java:comp/env/PersonneFacadeRemote");
pfl.create(personne);
System.out.println("Creer une nouvelle personne avec l'interface
remote");
} catch (NamingException ex) {
ex.printStackTrace();
}
}
When i debug this test client, i get this error below at *InitialContext ic
= new InitialContext(p);
NoInitialContextException (id=28) Cannot instantiate class:
org.apache.openejb.client.RemoteInitialContextFactory
all remainingName, resolvedName and resolvedObject are null.*
So, i'd like to know if someone here has succeeded to resolve this problem ?
Thanks for help!
--
View this message in context:
http://openejb.979440.n4.nabble.com/Problem-to-create-initialContext-tp4668512.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.