1.安裝EJB是一個解壓縮的過程,但須注意解壓目錄不能在有中文或空格的目錄下;否則啓動應用服務器時會出錯。
2.第一個EJB應用
1).編寫接口
public interface HelloEjb {
public String sayHello(String name);
}
2).實現接口
@Stateless//無狀態Bean
@Remote(HelloEjb.class)//設置爲遠程Bean,注意是接口HelloEjb
public class HelloEjbBean implements HelloEjb{
@Override
public String sayHello(String name) {
return name+"說:你好!";
}
}
3).編寫測試類
public static void main(String[] args) {
try {
Properties pos = new Properties();
pos.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
pos.setProperty("java.naming.provider.url", "localhost:1099");
InitialContext ctx = new InitialContext(pos);
HelloEjb hello = (HelloEjb)ctx.lookup("HelloEjbBean/remote");
System.out.println(hello.sayHello("幹露露"));
} catch (NamingException e) {
e.printStackTrace();
}
}
3.運行測試類
出現兩個問題
1).log4j:WARN No appenders could be found for logger (org.jnp.interfaces.
解決方法是:把struts2或spring中log4j.properties複製到項目的src目錄下。
2).javax.naming.NameNotFoundException: HelloEjbBean not bound
解決方法是:把接口和實現類打包成jar放入JBoss的jboss-6.1.0.Final\server\default\deploy目錄下