WEB开发网
开发学院软件开发Java 将 Spring 和 OpenJPA 与 WebSphere Application ... 阅读

将 Spring 和 OpenJPA 与 WebSphere Application Server 一起使用

 2009-11-03 00:00:00 来源:WEB开发网   
核心提示: 取决于应用程序层,实例化容器的方式稍微有所不同,将 Spring 和 OpenJPA 与 WebSphere Application Server 一起使用(8),在 Web 层中,只需通过将清单 1 中的 XML 片段放在 /WEB-INF/web.xml 文件中即可实例化该容器:清单 1.

取决于应用程序层,实例化容器的方式稍微有所不同。在 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 基类。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Spring OpenJPA WebSphere

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接