我正在编写一个小型 Java 库,旨在用于 Web 应用程序以及 Java 控制台应用程序。
为了从 CDI 和其他 javaEE 6 功能中获益,并且不必维护库的两个版本(java EE 和 java SE),我想为控制台应用程序使用 openejb(嵌入式)。所以我在eclipse中建立了一个maven项目并添加了openejb工件。
不知何故,我只是不知道如何使控制台程序使用 openejb-container,即解决我的注入和其他 javaEE 功能。
假设我有两个非常简单的类:
@Stateless
Class A {
@Inject
public B member;
public A() {};
}
和
@Stateless
Class B {
public B() {};
public String getString () {
return "Hello";
}
}
那么,我将如何获得一个带有 main() 方法的普通 Java 类,使用嵌入式 openejb 实例化 A 的成员?- 以某种方式:
public class TestOpenEJB {
public static void main(String[] args) {
Class A a = new A(); /*wrong of couse*/
System.out.println( a.member.getString() );
}
}
这个简单示例的工作解决方案会很有帮助。
最后,我的目标是为在内部使用嵌入式 javaEE 容器的库提供 java SE api。
非常感谢!