Tomcat6遠端呼叫GlassFish V2的session bean
GlassFish V2 是一個比較完整的ejb3伺服器,效能也有了很大的提高,因此最近試用了一下,並通過Tomcat進行了分散式呼叫。
Session Bean: com.test.session.TestSessionBean, TestSessionRemote
web專案: test_web
要作以下處理:
1 Tomcat的test_web/WEB-INF/lib載入GlassFish的Client包,可以通過https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html檢視官方的說明,我的類包中含有:
C:\\Java\\glassfish-v2\\lib\\appserv-ws.jar; C:\\Java\\glassfish-v2\\lib\\install\\applications\\jmsra\\imqjmsra.jar; C:\\Java\\glassfish-v2\\lib\\install\\applications\\jmsra\\imqjmx.jar; C:\\Java\\glassfish-v2\\lib\\javaee.jar; C:\\Java\\glassfish-v2\\lib\\appserv-ee.jar; C:\\Java\\glassfish-v2\\lib\\appserv-ext.jar; C:\\Java\\glassfish-v2\\lib\\appserv-deployment-client.jar; C:\\Java\\glassfish-v2\\lib\\jmxremote_optional.jar; C:\\Java\\glassfish-v2\\lib\\appserv-rt_ja.jar
2 如果沒在classpath中設定ant,則還要在%Tomcat%/lib下加入ant.jar,ant-launcher.jar.
3 Context的設定
Properties props = new Properties();
props.setProperty("java.naming.factory.initial",
"com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs",
"com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state",
"com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
// optional. Defaults to localhost. Only needed if web server is running
// on a different host than the appserver
props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
// optional. Defaults to 3700. Only needed if target orb port is not 3700.
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
InitialContext ic = new InitialContext(props);
4 在lookup時,要用Bean的完整類名:com.test.TestSessionRemote
5 日誌輸出
java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE, "exception caught", ne);
OK。Tomcat與GlassFish的EJB3就可以合作了。
Session Bean: com.test.session.TestSessionBean, TestSessionRemote
web專案: test_web
要作以下處理:
1 Tomcat的test_web/WEB-INF/lib載入GlassFish的Client包,可以通過https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html檢視官方的說明,我的類包中含有:
C:\\Java\\glassfish-v2\\lib\\appserv-ws.jar; C:\\Java\\glassfish-v2\\lib\\install\\applications\\jmsra\\imqjmsra.jar; C:\\Java\\glassfish-v2\\lib\\install\\applications\\jmsra\\imqjmx.jar; C:\\Java\\glassfish-v2\\lib\\javaee.jar; C:\\Java\\glassfish-v2\\lib\\appserv-ee.jar; C:\\Java\\glassfish-v2\\lib\\appserv-ext.jar; C:\\Java\\glassfish-v2\\lib\\appserv-deployment-client.jar; C:\\Java\\glassfish-v2\\lib\\jmxremote_optional.jar; C:\\Java\\glassfish-v2\\lib\\appserv-rt_ja.jar
2 如果沒在classpath中設定ant,則還要在%Tomcat%/lib下加入ant.jar,ant-launcher.jar.
3 Context的設定
Properties props = new Properties();
props.setProperty("java.naming.factory.initial",
"com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs",
"com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state",
"com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
// optional. Defaults to localhost. Only needed if web server is running
// on a different host than the appserver
props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
// optional. Defaults to 3700. Only needed if target orb port is not 3700.
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
InitialContext ic = new InitialContext(props);
4 在lookup時,要用Bean的完整類名:com.test.TestSessionRemote
5 日誌輸出
java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE, "exception caught", ne);
OK。Tomcat與GlassFish的EJB3就可以合作了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13270562/viewspace-242615/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一個Session Bean如何去呼叫另外一個Session Bean裡的方法?SessionBean
- Java遠端呼叫Java
- 在得到ejb遠端物件時,能否傳引數給無狀態session bean?物件SessionBean
- session bean中的session如何理解?SessionBean
- CMP Bean在session bean後,資料怎麼返回給客戶端???BeanSession客戶端
- session bean 對 entity bean的訪問策略?SessionBean
- 呼叫遠端procedure的2個問題
- Metasploit遠端呼叫Nessus出錯
- 遠端呼叫 - spring+rmiSpring
- 分散式系統:遠端呼叫分散式
- session bean + dao +vo ???SessionBean
- phpcms—— 內容中的附件呼叫和新增遠端地址的呼叫PHP
- 在Eclipse WTP 2.0上安裝GlassFish V2外掛Eclipse
- bbossaop遠端服務介紹-遠端服務呼叫例項
- ABAP FUNCTION 遠端呼叫的一個引數Function
- RCF--RPC(遠端呼叫框架)RPC框架
- 遠端呼叫中介軟體(RPC)RPC
- RabbitMQ 入門 - 遠端呼叫 (RPC)MQRPC
- dubbo 遠端服務無法呼叫
- 怎麼跨App 遠端呼叫EJBAPP
- Google遠端過程呼叫-GRPCGoRPC
- bbossaop遠端服務介紹-點對點遠端服務呼叫和組播服務呼叫的區別
- 遠端執行緒注入dll,突破session 0執行緒Session
- 在客戶端儲存對EJB的遠端呼叫是否可行?客戶端
- Windows Server 2003 + Glassfish v2 + Oracle 10G 安裝WindowsServerOracle 10g
- SmartRoute之遠端介面呼叫和負載負載
- RPC(遠端過程呼叫)詳解RPC
- SpringCloud(一)微服務遠端呼叫 -- RestTemplateSpringGCCloud微服務REST
- java遠端呼叫(rmi)常見的兩個錯誤Java
- Spring在單例bean中使用session、request範圍的beanSpring單例BeanSession
- 徒手擼框架--實現 RPC 遠端呼叫框架RPC
- Storm系列(五)DRPC實現遠端呼叫ORMRPC
- 遠端執行緒注入DLL突破session 0 隔離執行緒Session
- 小白的學習筆記——服務拆分和遠端呼叫筆記
- dubbo原始碼解析(三十)遠端呼叫——rest協議原始碼REST協議
- (2)什麼是服務拆分和遠端呼叫
- Android程式使用SOAP呼叫遠端WebService服務AndroidWeb
- struts工程呼叫遠端EJB元件時怎麼部署元件