访问一个EJB需要完成的代码
//初始化EJB访问上下文
Context context = new InitialContext();
//查找jndiName对应的EJB调用入口
Object o = ctx.lookup(“jndiName”);
//生成EJB访问的home接口
XXXHome home = (XXXHome) javax.rmi.PortableRemoteObject
.narrow(o,XXXHome.class);
//创建EJB对象
XXX xxx = home.create();
//完成相关业务方法调用
…
//EJB使用完毕,清除EJB对象
xxx.remove();
访问JDBC数据源要完成的代码
//加载数据库驱动
Class.forName(“driver_name_of_jdbc_driver”);
//通过DriverManager获取数据库连接
Connection conn = DriverManager
.getConnection(jdbcUrl,userName,password);
//创建Statement对象
Statement stmt = conn.createStatement();
//完成相关数据的访问
…
//关闭Statement对象
stmt.close();
//关闭数据库连接
conn.close();
以上是硬编码获取Connection ,在EJB中还有另一种方法:
@Resource DataSource dataSource;
或者:
@Resource(mappedName="java:/DefaultDS") DataSource dataSource;
Connection con = dataSource.getConnection();
访问JMS需要完成的部分代码
//初始化EJB访问上下文
Context context = new InitialContext();
//通过JNDI查询连接工厂
TopicConnectionFactory factory = (TopicConnectionFactory) ctx
lookup(“weblogic.jws.jms. TopicConnectionFactory”);
//使用连接工厂创建JMS连接
TopicConnection conn = factory.createTopicConnection();
//创建JMS会话
TopicSession session = connection
createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
//通过jndiName查找目的地(主题)
Topic topic = (Topic) ctx.lookup(“jndiName”);
//创建消息发生者
TopicPublisher publisher = session.createPublisher(topic);
//创建要发送的文本消息
TextMessage message = session.createTextMessage();
message.setText(“Hello World!”);
//发送文本消息
publisher.publish(message);
这些只是J2EE标准中不到四分之一服务的客户端调用代码片断,从中我们可以发现每种企业资源的访问方式和API都不相同,而且每一种调用代码的编写都不是一件非常轻松的事情,而J2EE中还提供了更多的企业资源接访问接口方式如Web Services,JavaMail等,对于开发者而言,要完全掌握J2EE1.4客户端调用代码对每一个开发者而言都不是一件轻松的事情。
控件(Controls)架构为解决这个难题提供了行之有效的方法。在控件(Controls)架构中,我们使用Java控件(Control)对资源访问进行封装,隐藏资源访问细节。开发者只需要继承这些Java控件(Control),而后提供自己的业务方法,使用Java控件(Control)中提供的特定注释(Annotation)来注释这些业务方法,就可以完成企业资源的访问工作。这种方式不但快捷高效,而且对于资源访问者而言,他始终采用同一接口去调用不同的资源,根本不需要去了解资源访问的细节。
相关推荐
第4章 有状态会话Bean示例 57 1.购物车会话Bean CartEJB 57 会话Bean类 58 SessionBean接口 60 Home接口 62 Remote接口 63 辅助类 63 运行本例 63 二 其他的企业Bean特性 64 访问环境变量 65 企业Bean的比较 66 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与...
包含了大量的代码示例。 无论您使用TestNG,JUnit或其他测试框架,本书提供的测试设计模式都会告诉您如何改进您的测试,对如何让代码和设计变得更可测试提供具体的建议。 目录: 第1章 起步 1.1 超越JUnit 3 1.2 ...
包含了大量的代码示例。 无论您使用TestNG,JUnit或其他测试框架,本书提供的测试设计模式都会告诉您如何改进您的测试,对如何让代码和设计变得更可测试提供具体的建议。 目录: 第1章 起步 1.1 超越JUnit 3 1.2 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 ...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与...
·访问J2EE服务,如JMS和EJB; ·使用AOP解决交叉问题; ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与...
11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种工作模式 11.1.2. Spring JDBC包结构 11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate...
11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种工作模式 11.1.2. Spring JDBC包结构 11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate...
各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP服务器模型源代码 2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码...
各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP服务器模型源代码 2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码...
11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构 11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. ...
11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构 11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. ...