·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
您现在的位置:天新网 > 软件开发 > Java开发 > EJB
精通ejb(8)
http://dev.21tx.com 2005年04月18日 Java中文网

精通EJB(8)

例子代码
rmi-iiop ejb客户端例子

A Java RMI-IIOP client with a proprietary EJB server.

package com.wiley.comPBooks.roman.corba.helloworld;
import javax.ejb.*;
import javax.naming.*;
import javax.rmi.*;
import java.util.Properties;
import javax.transaction.UserTransaction;
/**
* This class is an example of client code that invokes
* methods on a simple stateless session bean.
*/
public class RMIClient {
public static void main(String[] args) {
try {
/*
* Get System properties for JNDI initialization
*/
Properties props = System.getProperties();
/*
* Use JNDI to look up the home object
*/
Context ctx = new InitialContext(props);
HelloHome home = (HelloHome)
javax.rmi.PortableRemoteObject.narrow(
ctx.lookup("HelloHome"),
HelloHome.class);
/*
* Use JNDI to look up the JTA
* UserTransaction interface
*/
UserTransaction userTran = (UserTransaction)
ctx.lookup("javax.transaction.UserTransaction");
/*
* Start the transaction
*/
userTran.begin();
/*
* Use the home object to create the Hello EJB Object
*/
Hello hello = home.create();
/*
* Call the hello() method, and print it
*/
System.out.println(hello.hello());
/*
* Done with EJB Object, so remove it
*/
hello.remove();
/*
* Commit the transaction
*/
userTran.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Example RMI-IIOP EJB client


A CORBA client with a CORBA-based EJB server.
package com.wiley.compBooks.roman.corba.helloworld;
import java.util.*;
import org.omg.CosNaming.*;
import org.omg.CosTransactions.*;
public class CORBAClient {
public static void main(String[] args) throws Exception {
/*
* Initialize the ORB.
*
* A more portable way to do this is:
*
* Properties p = new Properties();
* p.put("org.omg.CORBA.ORBClass", <..ORB class..>);
* org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, p);
*/
org.omg.CORBA.ORB orb = com.inprise.ejb.Global.orb();
/*
* Get a reference to a naming context
*/
NamingContext context = NamingContextHelper.narrow
(orb.resolve_initial_references("NameService"));
/*
* Look up the home object using COS Naming
*/
NameComponent[] names = { new NameComponent("HelloHome", "") };
HelloHome helloHome = HelloHomeHelper.narrow
(context.resolve(names));
/*
* Get the CORBA OTS Current interface for
* controlling transactions
*/
Current currentTX = CurrentHelper.narrow
(orb.resolve_initial_references("TransactionCurrent"));
/*
* Begin the transaction
*/
currentTX.begin();
/*
* Use the home object to create an EJB object
*/
Hello hello = helloHome.create();
/*
* Call a business method
*/
System.out.println(hello.hello());
/*
* Remove the EJB object
*/
hello.remove();
/*
* Commit the transaction
*/
currentTX.commit(true);
}
}

(全文完)

上一篇: EJB2.0中的变化增强,应用程序开发的灵活性和可移植性(2)
下一篇: EJB2.0中的变化增强,应用程序开发的灵活性和可移植性(1)

相关内容
Google
 
热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net