Attualmente sto utilizzando apache openejb come contenitore incorporato per i test di unità. Sebbene si tratti di un progetto EJB3/JPA, dovrebbe funzionare allo stesso modo per EJB2. Per bootstrap il contenitore nei test è sufficiente creare un oggetto InitialContext che in seguito sarà possibile utilizzare per ricerca EJB e DataSources:
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
// a DataSource named "mysql"
props.put("mysql", "new://Resource?type=DataSource");
props.put("mysql.JdbcDriver", "com.mysql.jdbc.Driver");
props.put("mysql.JdbcUrl", "jdbc:mysql://localhost:3306");
props.put("mysql.JtaManaged", "true");
props.put("mysql.DefaultAutoCommit", "false");
props.put("mysql.UserName", "root");
props.put("mysql.Password", "root");
Context context = new InitialContext(props);
LocalInterface local = (LocalInterface)context.lookup(localInterfaceName + "BeanLocal");
DataSource ds = (DataSource)context.lookup("java:openejb/Resource/mysql");
Edit: C'è ancora un po 'di documentazione nella sezione 'Prove Tecniche' a http://openejb.apache.org/3.0/index.html.
fonte
2009-09-30 14:30:55
+1 - Per gli ultimi due suggerimenti, non ho pensato a Cactus in anni.:) –
In realtà, non ho usato Cactus per anni :) –
Ho provato a installare Cactus per l'uso, ma non lo capisco davvero! Mi sembra troppo difficile da configurare. Sto usando Eclipse e NetBeans. – Attilah