将 Spring 和 OpenJPA 与 WebSphere Application Server 一起使用
2009-11-03 00:00:00 来源:WEB开发网取决于应用程序层,实例化容器的方式稍微有所不同。在 Web 层中,只需通过将清单 1 中的 XML 片段放在 /WEB-INF/web.xml 文件中即可实例化该容器:
清单 1. Listener 类<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
缺省情况下,此类会加载 /WEB-INF/applicationContext.xml 文件,其中预期包括 Spring Bean 声明。可以根据需要自定义缺省配置文件路径。Web 应用程序的 ServletContext 用作容器实例的绑定目标,以使得容器无需多次进行实例化即可供后续使用。
由于 EJB 中不存在像 J2EE 1.4 中的 Web 层初始化机制那样用于初始化应用程序的标准方法,您需要在这里以稍微不同的方式实例化 Spring 容器。Spring 包括几个用于创建和加载容器的不同实现类。由于实例化容器的开销非常大,我们应该避免在每次需要实例时对容器进行实例化。既然 EJB 规范没有用于共享容器实例的适当机制,使用基于单一实例的实例化策略通常是适当的。
要使用此方法,您通常需要创建名为 beanRefContext.xml(缺省文件名)的特定于 EJB 的 Spring 引导配置文件,该配置文件又加载一组其他 Bean 配置文件。您还应该改写 EJB 实现类中的 setSessionContext。EJB 层中的容器实例化不像在 Web 层中那样无干扰性地工作。一个明显的缺点就是您需要使用 Spring API 来显式地查找 Bean。
一种类似的方法是使用 Spring 的抽象 EJB 实现支持类之一作为 EJB 实现的基类。这些方便的类使得代码编写人员不必实现 EJB 组件接口方法,而且还负责实例化 Spring 容器。但是,您仍然必须创建 beanRefContext.xml 并实现 setSessionContext。此方法的一个缺点是您无法使用自己的 EJB 基类。
- ››Spring源码学习-含有通配符路径解析(上)
- ››WebSphere Application Server 7.0 XML Feature P...
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››Websphere MQ v6集群的负载均衡新功能
- ››WebSphere Process Server V6.0.2 集群,第 2 部分...
- ››WebSphere Process Server V6.0.2 集群,第 1 部分...
- ››WebSphere MQ性能调优浅谈
- ››WebSphere配置资源库管理
- ››WebSphere中的SSL/TLS:用法、配置和性能
- ››websphere ejb远程/本地调用总结
- ››WebSphere Application Server对SIP的支持
更多精彩
赞助商链接