我正在使用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/