我正在使用Jdeveloper 11.1.1.7.0.构建应用程序。此应用程序将根据应用程序中指定的时间间隔由scheduler运行。该应用程序的主要目的是使用Online Web Services进行在线交易。

在应用程序中,我正在从数据库中获取数据。为此,我必须定义应用程序模块并使用它来获取view objects。以前,当应用程序在10g中时(在迁移到11g之前),开发人员使用以下方法创建应用程序模块:

ApplicationModule appMod= Configuration.createRootApplicationModule("somePackge","someAppNameLocal");


最后,他将其发布如下:

Configuration.releaseRootApplicationModule(appMod, false);


问题是:获得应用程序模块的最佳实践是什么?

该博客:Oracle Apps (ADF/OAF/iModules): Different ways of getting Handle to AM from Backing Bean提出了不同的方法。但是,哪种类型最适合我正在构建的应用程序?另外,我是否需要一些如何在应用程序末尾释放应用程序模块的方法?有必要吗?

最佳答案

您现在遵循的方法将是最好的方法。
我在我的应用程序中一直使用相同的工具,并且在生产中效果很好。
我有和您相同的用例。

但是您需要使用以下命令释放您的根应用程序模块

Configuration.releaseRootApplicationModule(appMod, true);




Configuration.releaseRootApplicationModule(appMod, false);


原因:http://www.jobinesh.com/2011/12/some-tips-on-application-module-usage.html

我需要一些如何在应用程序末尾释放应用程序模块的方法吗?有必要吗?

有必要。

调用createRootApplicationModule()将使用来自连接池的连接,如果未正确释放它,则由于连接不可用,应用程序可能会在某些时候崩溃。

我建议关注此帖子:http://andrejusb.blogspot.in/2013/03/optimizing-long-running-adf-operations.html
并为您的调度程序创建一个AM。

关于java - 获取在线Web服务应用程序的应用程序模块的最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23365231/

10-11 02:42
查看更多