OpenEjb使用笔记--让Tomcat可以部署EJB
http://qujianfeng.iteye.com/blog/793409
1??OpenEJB概述
????? Tomcat本不支持部署EJB,通過向其安裝OpenEjb,可使其支持。
2??安裝
2.1?下載
http://www.apache.org/dyn/closer.cgi/openejb/3.1.3/openejb.war
2.2??安裝
1、將下載的openejb.war 放在Tomcat的安裝目錄 webapps下。
2、啟動Tomcat。
3、在IE中輸入:http://localhost:8080/openejb 回車后顯示如下信息:
Welcome to the OpenEJB/Tomcat integration!
?
Now that OpenEJB has been installed, click on the "Testing your setup" link below to verify it. When everything is setup well, feel free to play around with the tools provided below!
?
OK!安裝成功,就這么簡單!
4、測試一下:http://localhost:8080/openejb/viewjndi.jsp
3??部署
像往常一樣,開發一個Ejb工程。
接口:
@Remote
publicinterface GreeterRemote
{
??? public String greet(String message);
??? public List<Greeting> getAllGreetings();
}
實現類:
@Stateless
publicclass GreeterBean implements GreeterRemote,GreeterLocal{
??? public List<Greeting> getAllGreetings(){
???????
??????? List<Greeting> greetings = new ArrayList<Greeting>();
??????? Greeting greeting = new Greeting();
??????? greeting.setId(12);
??????? greeting.setName("bill gates");
??????? greetings.add(greeting);
??????? greeting = new Greeting();
??????? greeting.setId(334);
??????? greeting.setName("李寧");
??????? greetings.add(greeting);
??????? return greetings;
??? }
?
??? public String greet(String message){
?????? return"您好"+ message;
??? }
}
?
????? 將此EJB工程打成jar包,比如放在D:\Tomcat\ejb下。注:“D:\Tomcat\ejb”是我自己建的。
???? 然后打開:Tomcat\conf\openejb.xml,將</openejb>前的內容改為:
<!--
#
#? The <Deployments> element can be used to configure file
#? paths where OpenEJB should look for ejb jars or ear files.
#
#? See http://openejb.apache.org/deployments.html
#
#? The below entry is simply a default and can be changed or deleted
<Deployments dir="apps/" />原來是這句,我們用不到,可以用下面的語句直接加載指定的ejb jar包。
-->
<Deployments jar="D:/Tomcat/ejb/OpenEjbTest.jar" />
重啟Tomcat,在瀏覽器輸入:http://127.0.0.1:8089/openejb/invokeobj.jsp
?
?
點擊其中的”Browse for an EJB”,轉到如下界面:
?
?
如果在其中能看到自己的EJB Bean,那就成功了。
4??客戶端調用
按照官方給出的說明:http://openejb.apache.org/3.0/clients.html,此處使用“Remote Client with HTTP (in tomcat)”方式。對上面部署的EJB調用的客戶端代碼如下:
publicclass GreeterBeanTest{
???
??? publicstaticvoid main(String[] args) throws NamingException {
??????
?????? Properties p = new Properties();
?????? p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
?????? p.put("java.naming.provider.url", "http://localhost:8089/openejb/ejb");
??????
?????? InitialContext initialContext = new InitialContext(p);
??????
?????? GreeterRemote greeterRemote =(GreeterRemote) initialContext.lookup("GreeterBeanRemote");
?????? String str="屈劍峰";
?????? System.out.println(greeterRemote.greet(str));
??? }
}
?
- OpenEjbTest.zip (8.7 KB)
?
總結
以上是生活随笔為你收集整理的OpenEjb使用笔记--让Tomcat可以部署EJB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring中调用远程EJB的配置
- 下一篇: 深入掌握JMS JMSCorrelati