最近因为项目需要,对ilog进行了学习,包括ilog在was的安装以及客户端连接ilog等内容。
个人感觉很多是通过ejb来进行查找及调用的,所以,特意自己做了一个ejb在was上部署以及客户端连接的例子:
1、ejb方面
ejb采用ejb 2,分三个类:Hello、HelloHome、HelloWord;
Hello:
public class Hello implements SessionBean {
/** The session context */
private SessionContext context;
public Hello() {
super();
// TODO Auto-generated constructor stub
}
/**
* Set the associated session context. The container calls this method
* after the instance creation.
*
* The enterprise bean instance should store the reference to the context
* object in an instance variable.
*
* This method is called with no transaction context.
*
* @throws EJBException Thrown if method fails due to system-level error.
*/
public void setSessionContext(SessionContext newContext)
throws EJBException {
context = newContext;
}
public void ejbCreate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
System.out.println("ejb create");
}
public void ejbRemove() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbActivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbPassivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
/**
* An example business method
*
* @ejb.interface-method view-type = "remote"
*
* @throws EJBException Thrown if method fails due to system-level error.
*/
public String sayIt() throws EJBException {
System.out.println("hello didi");
return "hello didi.";
}
}
HelloHome
public interface HelloHome
extends javax.ejb.EJBHome
{
public com.rox.HelloWorld create()
throws javax.ejb.CreateException,java.rmi.RemoteException;
}
HelloWorld
public interface HelloWorld extends EJBObject{
public String sayIt() throws RemoteException;
}
2、发布ejb到was中
注意:在ejb的jndi项,填写ejb/hello,以便以后在client端进行引用。
3、将导入的ejb导出
注意:was比较恶心的地方在这里,因为我们在创建ejb的时候,没有生成stub等类,而was在发布我们的ejb时,自动给我们补齐,所以,我们从发布的ejb导出客户端需要的jar包。
4、客户端编写
注意事项:
a、jre问题
必须采用ibm的jre,否则无法通过;
b、依赖jar包问题
依赖的jar包包括三部分:
部分一:was中的lib里面的包;
部分二:was中的runtime中的包;
部分三:从was导出的ejb的jar包;
以上包中,第一部分可能不全部需要,但本人没有研究确切的需要那几个包,不过,添加了全部包后,可以确保测试通过;
c、客户端的代码实现
javax.naming.InitialContext initialContext = null;
Properties environment = new Properties();
//environment.put(Context.PROVIDER_URL, "iiop://10.66.49.249:2809"); 因为本人在本机测试,所以不用设置这条。
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
environment.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming");
initialContext = new javax.naming.InitialContext(environment);
HelloHome helloHome = null;
Object obj = initialContext.lookup("ejb/hello");
helloHome = (HelloHome)javax.rmi.PortableRemoteObject.narrow(obj, HelloHome.class);
HelloWorld hello = helloHome.create();
System.out.println(hello.sayIt());
//thank you ,that is all!
分享到:
相关推荐
EJB学习源代码,SessionBean,DriverBean,EntityBean,onetonone,onetomany等等
里面是搜集的EJB学习资料,有《Jboss EJB3.0实例教程》和《EJB3.0实例教程》两本pdf书籍,以及两本外文pdf书籍及源码,分别为ejb-3_0-fr-spec-persistence.pdf和ejb-3_0-fr-spec-simplified.pdf,以及EJB课堂笔记....
EJB入门学习,很有价值的哦!不可错过
EJB基础学习EJB者必看里面详细记录了EJB技术等
ejb学习文档.chmejb学习文档.chmejb学习文档.chmejb学习文档.chm
EJB3.0学习心得 EJB3.0学习心得 EJB3.0学习心得
介绍中间件的相关知识及目前较流行的ejb技术,对系统分析师考试论文的写作很有帮助。
一个EJB3的例子,原来的例子是Jarek Miszczyk 所作, 他用的是DB2数据库,这台机器上没安,所以就改造一下用在Oracle10g上了,有多对多关系映射,EJB3比hibernate好,我的感觉,而且是正宗名门。 压缩包有三个工程...
EJB学习!EJB学习!EJB学习!EJB学习
Weblogic EJB 学习笔记 ejb 基础知识 EJB 组成 EJB 配置描述器 建立ejb 档案文件 容器管理的事务 ejb 引用
比较实用的东西,具体介绍了Weblogic Ejb的使用
压缩包中包含:EJB3.0实例教程 JPA教程 实战EJB三本电子书,都是不错的学习资料。
NULL 博文链接:https://longhuang.iteye.com/blog/657123
EJB学习笔记 自己的学习心得
这是我所学习EJB的PPT,可能会对您有所帮忙,如感觉无用请不要骂我啊 ~~~~
经典资料+个人心得,希望大家能喜欢
在学习ejb时做了一个小例子,有一些实体bean和sessionbean的实现,和一个简单的前台交互
EJB学习资料,讲解EJB的三大bean的使用
EJB学习笔记2,希望大家多多进步