Oracle Webcenter Portal Framework应用程序–修改主页和登录/注销目标页面并将您的应用程序部署到自定义Portal受管服务器实例中
Oracle Webcenter Framework门户应用程序提供了对用户要访问的主页进行控制的功能,一旦用户访问了Portal Framework Application URL,登录和注销操作应引导到哪些页面。
将在本练习结束时生成的Oracle Webcenter Portal Framework应用程序将部署在Oracle受管服务器(WC_CustomPortal)实例上,该实例将通过使用Oracle Portal Template通过域的扩展名创建。
在先前的教程中,您已经将Oracle Webcenter Portal Framework应用程序部署到Oracle Webcenter WC_Spaces实例或者JDeveloper Integrated Managed Server上。
在开发阶段将Oracle Webcenter Portal框架应用程序部署到JDeveloper的Integrated Managed Server中非常有帮助,同时将您的应用程序部署到预先配置的Managed Server WC_Spaces中,就像我们在Oracle Webcenter Portal安装中的入门教程中所做的那样不建议Oracle自己采用这种方法,因为建议将这种新方法用于您要将Portal应用程序部署到暂存环境中的情况。
Oracle Webcenter Portal Framework应用程序的索引页
在开始阐明主页以及如何更改主页之前,让我向您介绍未知的士兵index.html,一旦访问门户应用程序URL,它将在主页确定中起主要作用。
Index.html是纯HTML页面,位于您的门户应用程序的Web内容文件夹下。
要通过JDeveloper或者实际文件夹结构轻松查找此资源,可以打开JDeveloper并指向Portal项目,并确保从"导航器显示选项"中选择了"按目录分组"选项。
这将有助于您查看index.html,就像它在文件系统上的实际文件夹中一样。
之后,您将可以看到Web Content/Public HTML资源下的index.html。
而且,如果您导航到JDeveloper用户的主文件夹(实际上是您的工作目录),那么您肯定会看到此资源,如下所示:
<p>Be careful from expecting that your Portal Applications are having the same file path like i have. This is actually can be controlled and modified, so i recommend you searching about your mywork into your default profile folder beneath folder named jdeveloper.</p>
如果您打开的是index.html,您可能想知道它没有包含很多代码,它所拥有的只是两个主要的meta语句。
index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></meta> <meta http-equiv="refresh" content="0;url=./faces/wcnav_defaultSelection" <title>Portal Home</title> </head> <body></body> </html>
这里的技术规范主要是帮助您了解您现在所看到的内容:
元数据HTML标记用于提供有关HTML文档的元信息。
我们大多数人都知道,它们没有显示在页面上,但它们是机器解析的目标。您可能会注意到index.html具有两个元数据标签;内容类型和刷新。
如果您的页面要支持另一种类型的编码或者/和内容,则内容类型非常重要。
虽然刷新与指定的时间和URL结合使用以实现重定向机制(如果有)。呈现index.html并浏览器解析了这些元数据信息后,由于时间间隔为0,页面将立即刷新,并将控件移到内容URL参数中提到的资源中。
指定内容的URL以引用默认的门户导航模型./faces/wcnav_defaultSelection。
默认导航模型引用了Pretty URL元素pages_home,因为页面层次结构是其中的第一个元素。
Pages是在默认导航模型中定义的页面层次结构Portal元素的ID,而home是在Page Hierarchy元素中定义的主页ID。
并在pages.xml中定义如下的主页,该页面在下面的编辑器中打开
<p>If you were replaced ./faces/wcnav_defaultSelection with ./faces/pages_home you will get the same result. As pages and home will refer page hierarchy component and home page defined therein respectively.</p>
现在,让我们看看如何使用默认索引重定向或者直接访问pages_home这些配置如何工作。
在创建的Oracle Webcenter Portal Framework应用程序上打开JDeveloper,该应用程序包含两个项目theitroadPortal和PortalWebAssests。
右键单击后从菜单上下文中选择"运行",以执行theitroadPortal项目。
<p>Take into your consideration that once your Integrated Managed Server went down, your theitroadPortal application will be removed directly. If you want to get this deployment permanently, you should deploy it through using of deployment profile (either using ear or war). As that, by starting up the Integrated Managed Server, your deployment will be right there and ready to serve.</p>
- 在浏览器中输入以下https://10.10.90.3/theitroadPortal/faces/pages_home并查看结果。
它应该像下面这样:
<p>You Jan be wondering from being the pages_home is prefixed with faces. As you Jan remember that Oracle Webcenter Portal Framework Application is an ADF application with Portal-features, so be sure that all pages can be accessed through JSF manner and that what you're going to see when it comes to deal with the navigation.</p>
修改pages.xml中的页面顺序(通过典型的编辑器)肯定会影响默认打开的页面。
看到下面我们如何通过拖动房屋来重新排序。运行您的应用程序并确保您已经登录,请记住,使用下面显示的"页面层次结构安全性"面板可以保护"关于"页面。
登录后,您肯定会导航到主页,这很正常,因为登录操作已将其激活-稍后将对其进行更改。
登录后尝试键入https://10.10.90.3/theitroadPortal/faces/wcnav_defaultSelection,您肯定会看到以下结果。
修改索引页
您可能会注意到,首先显示index.html,并且相应地将其重定向到下一视图。
当页面标题变为Portal Home(即index.html的标题)之前,在显示页面的真实标题(如Home或者About)之前,这一点非常清楚。
但是您可能会询问首先从哪个位置指定显示index.html页面,从web.xml文件中可以听到很大的答案。
看看里面,您会看到其中列出了welcome-file-list标记:
web.xml
<welcome-file-list> <welcome-file>/index.html</welcome-file> </welcome-file-list>
最终可以通过两个选项修改该值:
手动修改属性。
使用
编辑运行配置``默认
对话框来修改默认索引页面。
您可以从显示的对话框中选择"运行/调试/配置文件"标签来访问此对话框,这是通过选择theitroadPortal的项目属性产生的。单击"运行配置"的默认设置上的"编辑"以相应地编辑启动设置。
您可以通过编辑默认运行目标的值来更改此设置。
为此,我们创建了一个theitroad.html页面,其内容如下所示:
theitroad.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></meta> <meta http-equiv="refresh" content="0;url=./faces/pages_help" <title>theitroad Portal</title> </head> <body></body> </html>
通过浏览选择新页面。
运行该应用程序,然后查看所做的修改。
theitroad HTML页面已将控件从其重定向到./faces/pages_help,它将使用与我们解释的相同概念转换为普通的Portal页面。
门户页面和文件夹内容概念
由于页面层次结构组件的重要性,因为它主要是导航模型的主要输入,所以要让您知道导航模型将定义的页面及其子页面视为文件夹非常重要。
要利用此概念,请打开默认的导航模型并注意在页面层次结构元素下方绘制的插入文件夹内容
复选框。
那么,页面背后的文件夹概念是什么?要回答这个问题,让我们尝试将其启用并再次禁用它,然后在theitroad Portal Framework应用程序上查看区别。
如果禁用此选项,您将真正获得以下结果:
而且,如果您单击"页面层次结构"灰色元素,则应该看到页面(层次结构中第一级的元素)已在此处填充。
而且,如果您返回启用此选项,则将看到所有页面及其子页面以结构化方式向下显示在层次结构中。
这样,启用"插入文件夹内容"选项后,Portal Framework会将您的页面视为文件夹,因此在显示导航模型时会将其子页面填充为子元素。
修改登录/注销登录页面
您可能在上面以及通过使用Pretty URL注意到,可以像在使用普通JSF/ADF应用程序一样在页面之间进行导航。
打开位于WEB-INF下的faces-config.xml文件,然后查看其中列出的导航案例:
faces-config.xml
<?xml version="1.0" encoding="windows-1252"?> <faces-config version="1.2" xmlns="https://java.sun.com/xml/ns/javaee"> <application> <default-render-kit-id>oracle.adf.rich</default-render-kit-id> <view-handler>oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler</view-handler> </application> <lifecycle> <phase-listener>oracle.webcenter.skin.view.SkinPhaseListener</phase-listener> </lifecycle> <managed-bean> <managed-bean-name>preferenceBean</managed-bean-name> <managed-bean-class>oracle.webcenter.portalframework.sitestructure.preference.PortalPreferences</managed-bean-class> <managed-bean-scope>application</managed-bean-scope> </managed-bean> <navigation-rule> <from-view-id>*</from-view-id> <navigation-case> <from-outcome>login_success</from-outcome> <to-view-id>/pages_home</to-view-id> <redirect </navigation-case> <navigation-case> <from-outcome>logout_success</from-outcome> <to-view-id>/pages_home</to-view-id> <redirect </navigation-case> </navigation-rule> </faces-config>
在下面的faces-config.xml文件的说明中:
JSF/ADF实现将读取此面孔配置文件,以使用所需的构件填充JSF/ADF框架。
随后将创建一个JSF/ADF bean,并对其进行引用。
此处列出了两个导航案例;一个用于登录成功,第二个用于注销成功。
要控制在发生login_success和logout_success的情况下Portal框架将定向到哪些页面,请针对您要更改的情况修改Pretty URL。
通过将登录成功替换为pages_about或者所需的任何漂亮URL中的ID,您将成功登录成功,并退出相同的问题,才能真正进入"关于"页面。
扩展您的域–创建WC_CustomPortal受管服务器
根据Oracle文档,不建议将应用程序部署到在Oracle Webcenter Portal安装期间已创建的预配置Oracle Webcenter Portal中。
因此,从现在开始,无需使用WC_Spaces或者任何现成的受管服务器,因为我们已经具有用于开发的集成受管服务器,现在我们具有用于登台目的的定制门户受管服务器。
要准备您的Oracle Custom Portal受管服务器,请遵循以下指示信息:
准备您的CUSTOMDEV_MDS,CUSTOMDEV_WEBCENTER和CUSTOMDEV_ACTIVITIES数据源。
实际将使用一个数据源,它是CUSTOMDEV_MDS,它将填充由Portal应用程序本身定义的所有元数据。
在接下来的教程中将有更多介绍。通过导航到位于中间件主目录中的Oracle Webcenter主目录并从bin文件夹中执行config.cmd来扩展域。
<p>To extend your domain, you Jan navigate into D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_WC\common\bin and execute the config.cmd.</p>
选择您要扩展它的域。
单击下一步,然后选择使用现有扩展模板扩展我的域。
通过浏览Oracle Webcenter目录/common /模板,您将找到所需的Oracle Portal模板。选择Oracle Webcenter Portal模板oracle.wc_custom_portal_template_11.1.1.jar。
单击确定,然后单击下一步,然后像在简介中对受管服务器所做的那样配置新的自定义域。
考虑数据库设置。您可以通过单独选择每个数据源来配置三个数据源,并按如下所示进行配置,然后再取消选择它。
单击下一步,确保您获得成功的数据库测试,并将"自定义门户托管服务器"配置为节点管理器可以识别的那些托管服务器之一。
可以通过将WC_CustomPortal拖动到要创建的计算机下来完成此配置。
简介中已经发生了同样的事情。扩展完成后,现在就可以进行安装并将JDeveloper与它连接。
导航到您的节点托管家庭并启动将在端口5556上侦听的节点管理器。
<p>Node Manager will allow you managing your servers from one point and either by using AdminServer or Oracle Webcenter Portal Enterprise Manager. From WLS home you Jan start your managed server. For me, it's located on D:\OracleWebCenter\OracleWC\WL6Middleware\wlserver_10.3\server\bin</p>
通过执行startWeblogic.cmd启动AdminServer。
第一次通过执行startManagedServer.cmd WC_CustomPortal https://10.10.90.3:7001来启动并运行WC_CustomPortal受管服务器会更好。
由于控制台会提示您输入用户名和密码,因此无需手动设置用户名和密码。
<p>Both of startWeblogic.cmd & StartManagedServer.cmd be actually located under the following path D:\OracleWebCenter\OracleWC\WL6Middleware\user_projects\domains\theitroad\bin</p>
- 服务器启动并准备好服务后,将向AdminServer发送通知,以告知该服务器现在已启动。
这个过程可能由于以下几个原因而失败,正如我们在引言中所提到的那样,现在是时候对其进行些许澄清。
<p>AdminServer notification has been done through JMX and that should connect to the AdminServer for doing that. This connection Jan use the IPV6 which Jan lead for destination unreachable and so an exception like Unable to establish JMX Connectivity weblogic.management.mbeanservers.domainruntime will be thrown, preventing you from getting AdminServer notified and that will make both of AdminServer and Enterprise Manager unaware that this server is up. If you tried to deploy your Portal application into your WC_CustomPortal, it's likely to be failed due to this notification issue. Fixing this issue needs your attention, as you should enforce your Managed Servers to get up and send their notification through using of IPv4. See Appendix A for both of startManagedServer.cmd and setDomainEnv.cmd which are modified to enforce IPv4.</p>
如果系统提示您输入用户名和密码,请输入weblogic/weblogic123。
等待一会儿,直到WC_CustomPortal启动并运行。一旦您的WC_CustomPortal启动并运行,您的AdminServer(当然是企业经理)将意识到这一点。
现在,您已经准备好了WC_CustomPortal受管服务器,该服务器随Portal应用程序的所有必需库一起提供。
<p>More about WC_CustomPortal will be in the next coming tutorials.</p>
将Portal Framework应用程序部署到WC_CustomPortal受管服务器中
要部署您的Portal应用程序,请首先确保已建立连接。
要创建与该服务器的连接,只需执行以下步骤:
确保您的WC_CustomPortal受管服务器已启动并正在运行。
在Application Server Navigator中,在Application Servers节点上,创建新的Application Server。
选择"集成服务器"选项,然后单击"下一步"。
输入服务器的名称,然后选择让JDeveloper管理该服务器实例的生命周期。
选择您的域和您的服务器实例。
单击"下一步",然后填写要求的用户名和密码,然后单击"下一步"。
填写所需的主机名和域,并保留其他名称。
单击下一步,并确保您的连接测试成功完成。
<p>This Test actually will communicate with AdminServer to specify whether the connected server is up or not. So be careful to make sure you're getting AdminServer up and running.</p>
单击下一步并完成。
在您的Portal Application Project中,右键单击,选择" deploy"和位于此处的默认选项。
如果需要,可以通过创建非默认部署配置文件来覆盖此默认选项。
这实际上是在接下来的教程中。单击下一步,然后选择部署到应用程序服务器。
单击下一步,然后选择新创建的服务器。
单击下一步,然后选择部署到域中的选定实例。
并选择WC_CustomPortal服务器。单击下一步并完成。
等待一会儿直到部署就位。
如果系统提示您选择元数据存储库,请选择一个与自定义有关的存储库,然后输入
分区名称
。
如果您之前未部署过Application,则将创建此分区名称,否则,这些值将被覆盖。
<p>Metadata Repository is so important concept that we're going to explain. But you Jan consider it for now as a location (Jan be XML or database based) that's used to define your Portal Framework Application Artifacts. Its values will be populated with MAR file which is created while deploying and it is stand for Metadata Archive File.</p>
- 单击部署。
在控制台确定您可以用于访问门户应用程序的部署URL之前,请稍等片刻。
<p>This deployment is done on WAR level, in the next coming Tutorials, you will learn the EAR level deployment that Jan or Jan not contain the static PortalWebAssests second project.</p>
如果成功部署了应用程序,则应该会看到以下屏幕,以及通过使用底部显示的URL访问应用程序的功能。
在浏览器中输入https://10.10.90.3:8892/theitroadPortal将自动选择index.html,并选择默认的选择导航模型。
概要
Oracle Webcenter提供了用于修改主页指定方式的工具。
除此之外,您还可以修改门户成功登录或者/和成功注销后将引导您进入的页面。
本教程旨在为您提供所有必需的信息,以了解Portal Application对其进行配置的方式。
此外,现在是时候准备我们的过渡环境了,可以通过添加新的Custom Portal Managed服务器来扩展我们的域来愉快地完成,该服务器已经包含所有这些必需的库以成功部署Portal应用程序并准备使用。
附录A
创建本附录旨在通过传递连接异常来帮助开发人员,该异常可能导致受管服务器使用IPv6通知AdminServer有关其状态的信息。
您可能会在下面找到startDomainEnv.cmd和startManagedWeblogic.cmd更新,它们是在JAVA_OPTIONS上发生的,因此您可以使用它们或者将命令文件编辑为相同。
setDomainEnv.cmd
@ECHO OFF @REM WARNING: This file is created by the Configuration Wizard. @REM Any changes to this script Jan be lost when adding extensions to this configuration. @REM * @REM This script is used to setup the needed environment to be able to start Weblogic Server in this domain. @REM @REM This script initializes the following variables before calling commEnv to set other variables: @REM @REM WL_HOME - The BEA home directory of your WebLogic installation. @REM JAVA_VM - The desired Java VM to use. You can set this environment variable before calling @REM this script to switch between Sun or BEA or just have the default be set. @REM JAVA_HOME - Location of the version of Java used to start WebLogic @REM Server. Depends directly on which JAVA_VM value is set by default or by the environment. @REM USER_MEM_ARGS - The variable to override the standard memory arguments @REM passed to java. @REM PRODUCTION_MODE - The variable that determines whether Weblogic Server is started in production mode. @REM DOMAIN_PRODUCTION_MODE @REM - The variable that determines whether the workshop related settings like the debugger, @REM testconsole or iterativedev should be enabled. ONLY settable using the @REM command-line parameter named production @REM NOTE: Specifying the production command-line param will force @REM the server to start in production mode. @REM @REM Other variables used in this script include: @REM SERVER_NAME - Name of the weblogic server. @REM JAVA_OPTIONS - Java command-line options for running the server. (These @REM will be tagged on to the end of the JAVA_VM and @REM MEM_ARGS) @REM @REM For additional information, refer to "Managing Server Startup and Shutdown for Oracle WebLogic Server" @REM (https://download.oracle.com/docs/cd/E23943_01/web.1111/e13708/overview.htm). @REM * set COMMON_COMPONENTS_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\oracle_common for %%i in ("%COMMON_COMPONENTS_HOME%") do set COMMON_COMPONENTS_HOME=%%~fsi set UCM_ORACLE_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_ECM for %%i in ("%UCM_ORACLE_HOME%") do set UCM_ORACLE_HOME=%%~fsi set IRM_ORACLE_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_ECM set WC_ORACLE_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_WC set APPLICATIONS_DIRECTORY=D:\OracleWebCenter\OracleWC\WL6Middleware\user_projects\applications\theitroad set WC_ORACLE_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_WC set WCPS_ORACLE_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_WC set PORTLET_ORACLE_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\oracle_common set WC_ORACLE_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_WC set WL_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\wlserver_10.3 for %%i in ("%WL_HOME%") do set WL_HOME=%%~fsi set BEA_JAVA_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\jrockit_160_29_D1.2.0-10 set SUN_JAVA_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\jdk160_29 if "%JAVA_VENDOR%"=="Oracle" ( set JAVA_HOME=%BEA_JAVA_HOME% ) else ( if "%JAVA_VENDOR%"=="Sun" ( set JAVA_HOME=%SUN_JAVA_HOME% ) else ( set JAVA_VENDOR=Sun set JAVA_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\jdk160_29 ) ) @REM We need to reset the value of JAVA_HOME to get it shortened AND @REM we can not shorten it above because immediate variable expansion will blank it set JAVA_HOME=%JAVA_HOME% for %%i in ("%JAVA_HOME%") do set JAVA_HOME=%%~fsi set SAMPLES_HOME=%WL_HOME%\samples set DOMAIN_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\user_projects\domains\theitroad for %%i in ("%DOMAIN_HOME%") do set DOMAIN_HOME=%%~fsi set LONG_DOMAIN_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\user_projects\domains\theitroad if "%DEBUG_PORT%"=="" ( set DEBUG_PORT=8453 ) if "%SERVER_NAME%"=="" ( set SERVER_NAME=AdminServer ) set DERBY_FLAG=false set enableHotswapFlag= set PRODUCTION_MODE= set doExitFlag=false set verboseLoggingFlag=false for %%p in (%*) do call :SET_PA内存 %%p GOTO :CMD_LINE_DONE :SET_PA内存 for %%q in (%1) do set noQuotesParam=%%~q if /i "%noQuotesParam%" == "nodebug" ( set debugFlag=false GOTO :EOF ) if /i "%noQuotesParam%" == "production" ( set DOMAIN_PRODUCTION_MODE=true GOTO :EOF ) if /i "%noQuotesParam%" == "notestconsole" ( set testConsoleFlag=false GOTO :EOF ) if /i "%noQuotesParam%" == "noiterativedev" ( set iterativeDevFlag=false GOTO :EOF ) if /i "%noQuotesParam%" == "noLogErrorsToConsole" ( set logErrorsToConsoleFlag=false GOTO :EOF ) if /i "%noQuotesParam%" == "noderby" ( set DERBY_FLAG=false GOTO :EOF ) if /i "%noQuotesParam%" == "doExit" ( set doExitFlag=true GOTO :EOF ) if /i "%noQuotesParam%" == "noExit" ( set doExitFlag=false GOTO :EOF ) if /i "%noQuotesParam%" == "verbose" ( set verboseLoggingFlag=true GOTO :EOF ) if /i "%noQuotesParam%" == "enableHotswap" ( set enableHotswapFlag=-javaagent:%WL_HOME%\server\lib\diagnostics-agent.jar GOTO :EOF ) else ( set PROXY_SETTINGS=%PROXY_SETTINGS% %1 ) GOTO :EOF :CMD_LINE_DONE set MEM_DEV_ARGS= if "%DOMAIN_PRODUCTION_MODE%"=="true" ( set PRODUCTION_MODE=%DOMAIN_PRODUCTION_MODE% ) if "%PRODUCTION_MODE%"=="true" ( set debugFlag=false set testConsoleFlag=false set iterativeDevFlag=false set logErrorsToConsoleFlag=false ) @REM If you want to override the default Patch Classpath, Library Path and Path for this domain, @REM Please uncomment the following lines and add a valid value for the environment variables @REM set PATCH_CLASSPATH=[myPatchClasspath] (windows) @REM set PATCH_LIBPATH=[myPatchLibpath] (windows) @REM set PATCH_PATH=[myPatchPath] (windows) @REM PATCH_CLASSPATH=[myPatchClasspath] (unix) @REM PATCH_LIBPATH=[myPatchLibpath] (unix) @REM PATCH_PATH=[myPatchPath] (unix) call "%WL_HOME%\common\bin\commEnv.cmd" set WLS_HOME=%WL_HOME%\server set XMS_SUN_64BIT=256 set XMS_SUN_32BIT=256 set XMX_SUN_64BIT=512 set XMX_SUN_32BIT=512 set XMS_JROCKIT_64BIT=256 set XMS_JROCKIT_32BIT=256 set XMX_JROCKIT_64BIT=512 set XMX_JROCKIT_32BIT=512 set XMS_SUN_64BIT=512 set XMS_SUN_32BIT=512 set XMX_SUN_64BIT=1024 set XMX_SUN_32BIT=1024 set XMS_JROCKIT_64BIT=512 set XMS_JROCKIT_32BIT=512 set XMX_JROCKIT_64BIT=1024 set XMX_JROCKIT_32BIT=1024 set XMS_SUN_64BIT=512 set XMS_SUN_32BIT=512 set XMX_SUN_64BIT=1024 set XMX_SUN_32BIT=1024 set XMS_JROCKIT_64BIT=512 set XMS_JROCKIT_32BIT=512 set XMX_JROCKIT_64BIT=1024 set XMX_JROCKIT_32BIT=1024 if "%JAVA_VENDOR%"=="Sun" ( set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m ) else ( set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m ) if "%JAVA_VENDOR%"=="Oracle" ( set CUSTOM_MEM_ARGS_64BIT=-Xms%XMS_JROCKIT_64BIT%m -Xmx%XMX_JROCKIT_64BIT%m set CUSTOM_MEM_ARGS_32BIT=-Xms%XMS_JROCKIT_32BIT%m -Xmx%XMX_JROCKIT_32BIT%m ) else ( set CUSTOM_MEM_ARGS_64BIT=-Xms%XMS_SUN_64BIT%m -Xmx%XMX_SUN_64BIT%m set CUSTOM_MEM_ARGS_32BIT=-Xms%XMS_SUN_32BIT%m -Xmx%XMX_SUN_32BIT%m ) set MEM_ARGS_64BIT=%CUSTOM_MEM_ARGS_64BIT% set MEM_ARGS_32BIT=%CUSTOM_MEM_ARGS_32BIT% if "%JAVA_USE_64BIT%"=="true" ( set MEM_ARGS=%MEM_ARGS_64BIT% ) else ( set MEM_ARGS=%MEM_ARGS_32BIT% ) set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m if "%JAVA_USE_64BIT%"=="true" ( set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT% ) else ( set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT% ) set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=512m set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=512m if "%JAVA_USE_64BIT%"=="true" ( set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT% ) else ( set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT% ) if "%JAVA_VENDOR%"=="Sun" ( if "%PRODUCTION_MODE%"=="" ( set MEM_DEV_ARGS=-XX:CompileThreshold=8000 %MEM_PERM_SIZE% ) ) @REM Had to have a separate test here BECAUSE of immediate variable expansion on windows if "%JAVA_VENDOR%"=="Sun" ( set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE% ) if "%JAVA_VENDOR%"=="HP" ( set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE% ) if "%JAVA_VENDOR%"=="Apple" ( set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE% ) @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values if NOT "%USER_MEM_ARGS%"=="" ( set MEM_ARGS=%USER_MEM_ARGS% ) set ORACLE_DOMAIN_CONFIG_DIR=%DOMAIN_HOME%\config\fmwconfig for %%i in ("%ORACLE_DOMAIN_CONFIG_DIR%") do set ORACLE_DOMAIN_CONFIG_DIR=%%~fsi set WLS_JDBC_REMOTE_ENABLED=-Dweblogic.jdbc.remoteEnabled=false if "%WC_OHOME_ARGUMENT%"=="" ( set WC_OHOME_ARGUMENT=-Dwc.oracle.home=%WC_ORACLE_HOME% set EXTRA_JAVA_PROPERTIES=-Dwc.oracle.home=%WC_ORACLE_HOME% %EXTRA_JAVA_PROPERTIES% ) if "%WC_OHOME_ARGUMENT%"=="" ( set WC_OHOME_ARGUMENT=-Dwc.oracle.home=%WC_ORACLE_HOME% set EXTRA_JAVA_PROPERTIES=-Dwc.oracle.home=%WC_ORACLE_HOME% %EXTRA_JAVA_PROPERTIES% ) if "%PORTLET_OHOME_ARGUMENT%"=="" ( set PORTLET_OHOME_ARGUMENT=-Dportlet.oracle.home=%PORTLET_ORACLE_HOME% set EXTRA_JAVA_PROPERTIES=-Dportlet.oracle.home=%PORTLET_ORACLE_HOME% %EXTRA_JAVA_PROPERTIES% ) if "%WC_OHOME_ARGUMENT%"=="" ( set WC_OHOME_ARGUMENT=-Dwc.oracle.home=%WC_ORACLE_HOME% set EXTRA_JAVA_PROPERTIES=-Dwc.oracle.home=%WC_ORACLE_HOME% %EXTRA_JAVA_PROPERTIES% ) set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% set ALT_TYPES_DIR=%COMMON_COMPONENTS_HOME%\modules\oracle.ossoiap_11.1.1,%COMMON_COMPONENTS_HOME%\modules\oracle.oamprovider_11.1.1,%COMMON_COMPONENTS_HOME%\modules\oracle.jps_11.1.1 set PROTOCOL_HANDLERS=oracle.mds.net.protocol if "%JAVA_VENDOR%"=="Sun" ( set EXTRA_JAVA_PROPERTIES=-XX:+UseParallelGC -XX:+DisableExplicitGC %EXTRA_JAVA_PROPERTIES% ) else ( if "%JAVA_VENDOR%"=="Oracle" ( set EXTRA_JAVA_PROPERTIES=-Djrockit.codegen.newlockmatching=true %EXTRA_JAVA_PROPERTIES% ) else ( set EXTRA_JAVA_PROPERTIES=-XX:+UseParallelGC -XX:+DisableExplicitGC %EXTRA_JAVA_PROPERTIES% ) ) set PROTOCOL_HANDLERS=%PROTOCOL_HANDLERS:;="|"% @REM To use Java Authorization Contract for Containers (JACC) in this domain, @REM please uncomment the following section. If there are multiple machines in @REM your domain, be sure to edit the setDomainEnv in the associated domain on @REM each machine. @REM @REM -Djava.security.manager @REM -Djava.security.policy=location of weblogic.policy @REM -Djavax.security.jacc.policy.provider=weblogic.security.jacc.simpleprovider.SimpleJACCPolicy @REM -Djavax.security.jacc.PolicyConfigurationFactory.provider=weblogic.security.jacc.simpleprovider.PolicyConfigurationFactoryImpl @REM -Dweblogic.security.jacc.RoleMapperFactory.provider=weblogic.security.jacc.simpleprovider.RoleMapperFactoryImpl if "%JAVA_VENDOR%"=="Oracle" ( set EXTRA_JAVA_PROPERTIES=-XX:+UseLargePagesForHeap %EXTRA_JAVA_PROPERTIES% ) set EXTRA_JAVA_PROPERTIES=-Doracle.webcenter.tagging.scopeTags=false %EXTRA_JAVA_PROPERTIES% set EXTRA_JAVA_PROPERTIES=-Djava.awt.headless=true %EXTRA_JAVA_PROPERTIES% set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Dipm.oracle.home=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_ECM set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Doracle.capture.home=D:\OracleWebCenter\OracleWC\WL6Middleware\Oracle_ECM set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Ducm.oracle.home=%UCM_ORACLE_HOME% set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Dirm.oracle.home=%IRM_ORACLE_HOME% set EXTRA_JAVA_PROPERTIES=-Doracle.webcenter.tagging.scopeTags=false %EXTRA_JAVA_PROPERTIES% set EXTRA_JAVA_PROPERTIES=-Doracle.webcenter.analytics.disable-native-partitioning=false %EXTRA_JAVA_PROPERTIES% set EXTRA_JAVA_PROPERTIES=-DUSE_JAAS=false -Djps.policystore.hybrid.mode=false -Djps.combiner.optimize.lazyeval=true -Djps.combiner.optimize=true -Djps.auth=ACC -Doracle.core.ojdl.logging.usercontextprovider=oracle.core.ojdl.logging.impl.UserContextImpl %EXTRA_JAVA_PROPERTIES% set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Dem.oracle.home=D:\OracleWebCenter\OracleWC\WL6Middleware\oracle_common -Djava.awt.headless=true set EXTRA_JAVA_PROPERTIES=-Dtangosol.coherence.log=jdk -DjiveHome=%DOMAIN_HOME%\config\fmwconfig\servers\%SERVER_NAME%\owc_discussions %EXTRA_JAVA_PROPERTIES% set EXTRA_JAVA_PROPERTIES=-Djps.auth.debug=false %EXTRA_JAVA_PROPERTIES% set EXTRA_JAVA_PROPERTIES=-Dcommon.components.home=%COMMON_COMPONENTS_HOME% -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Ddomain.home=%DOMAIN_HOME% -Djrockit.optfile=%COMMON_COMPONENTS_HOME%\modules\oracle.jrf_11.1.1\jrocket_optfile.txt -Doracle.server.config.dir=%ORACLE_DOMAIN_CONFIG_DIR%\servers\%SERVER_NAME% -Doracle.domain.config.dir=%ORACLE_DOMAIN_CONFIG_DIR% -Digf.arisidbeans.carmlloc=%ORACLE_DOMAIN_CONFIG_DIR%\carml -Digf.arisidstack.home=%ORACLE_DOMAIN_CONFIG_DIR%\arisidprovider -Doracle.security.jps.config=%DOMAIN_HOME%\config\fmwconfig\jps-config.xml -Doracle.deployed.app.dir=%DOMAIN_HOME%\servers\%SERVER_NAME%\tmp_WL_user -Doracle.deployed.app.ext=\- -Dweblogic.alternateTypesDirectory=%ALT_TYPES_DIR% -Djava.protocol.handler.pkgs=%PROTOCOL_HANDLERS% %WLS_JDBC_REMOTE_ENABLED% %EXTRA_JAVA_PROPERTIES% set JAVA_PROPERTIES=%JAVA_PROPERTIES% %EXTRA_JAVA_PROPERTIES% set ARDIR=%WL_HOME%\server\lib pushd %LONG_DOMAIN_HOME% @REM Clustering support (edit for your cluster!) if "%ADMIN_URL%"=="" ( @REM The then part of this block is telling us we are either starting an admin server OR we are non-clustered set CLUSTER_PROPERTIES=-Dweblogic.management.discover=true ) else ( set CLUSTER_PROPERTIES=-Dweblogic.management.discover=false -Dweblogic.management.server=%ADMIN_URL% ) if NOT "%LOG4J_CONFIG_FILE%"=="" ( set JAVA_PROPERTIES=%JAVA_PROPERTIES% -Dlog4j.configuration=file:%LOG4J_CONFIG_FILE% ) set JAVA_PROPERTIES=%JAVA_PROPERTIES% %CLUSTER_PROPERTIES% set JAVA_DEBUG= if "%debugFlag%"=="true" ( set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%DEBUG_PORT%,server=y,suspend=n -Djava.compiler=NONE set JAVA_OPTIONS=%JAVA_OPTIONS% %enableHotswapFlag% -Djava.net.preferIPv4Stack=true -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole... ) else ( set JAVA_OPTIONS=%JAVA_OPTIONS% %enableHotswapFlag% -da -Djava.net.preferIPv4Stack=true ) if NOT exist %JAVA_HOME%\lib ( echo The JRE was not found in directory %JAVA_HOME%. ^(JAVA_HOME^) echo Please edit your environment and set the JAVA_HOME echo variable to point to the root directory of your Java installation. popd pause GOTO :EOF ) if "%DERBY_FLAG%"=="true" ( set DATABASE_CLASSPATH=%DERBY_CLASSPATH% ) else ( set DATABASE_CLASSPATH=%DERBY_CLIENT_CLASSPATH% ) if NOT "%POST_CLASSPATH%"=="" ( set POST_CLASSPATH=%COMMON_COMPONENTS_HOME%\modules\oracle.jrf_11.1.1\jrf.jar;%POST_CLASSPATH% ) else ( set POST_CLASSPATH=%COMMON_COMPONENTS_HOME%\modules\oracle.jrf_11.1.1\jrf.jar ) if NOT "%PRE_CLASSPATH%"=="" ( set PRE_CLASSPATH=%COMMON_COMPONENTS_HOME%\modules\oracle.jdbc_11.1.1\ojdbc6dms.jar;%PRE_CLASSPATH% ) else ( set PRE_CLASSPATH=%COMMON_COMPONENTS_HOME%\modules\oracle.jdbc_11.1.1\ojdbc6dms.jar ) if "%PORTLET_ORACLE_HOME%"=="" ( set POST_CLASSPATH=%WC_ORACLE_HOME%\webcenter\modules\oracle.portlet.server_11.1.1\oracle-portlet-api.jar;%POST_CLASSPATH% ) set POST_CLASSPATH=%WCPS_ORACLE_HOME%\wcps-services-app\modules\oracle.wcps_11.1.1\wcps-connection-mbeans.jar;%POST_CLASSPATH% set POST_CLASSPATH=%PORTLET_ORACLE_HOME%\webcenter\modules\oracle.portlet.server_11.1.1\oracle-portlet-api.jar;%POST_CLASSPATH% set POST_CLASSPATH=%COMMON_COMPONENTS_HOME%\soa\modules\commons-cli-1.1.jar;%COMMON_COMPONENTS_HOME%\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;%POST_CLASSPATH% if NOT "%DATABASE_CLASSPATH%"=="" ( if NOT "%POST_CLASSPATH%"=="" ( set POST_CLASSPATH=%POST_CLASSPATH%;%DATABASE_CLASSPATH% ) else ( set POST_CLASSPATH=%DATABASE_CLASSPATH% ) ) if NOT "%ARDIR%"=="" ( if NOT "%POST_CLASSPATH%"=="" ( set POST_CLASSPATH=%POST_CLASSPATH%;%ARDIR%\xqrl.jar ) else ( set POST_CLASSPATH=%ARDIR%\xqrl.jar ) ) @REM PROFILING SUPPORT set JAVA_PROFILE= set SERVER_CLASS=weblogic.Server set JAVA_PROPERTIES=%JAVA_PROPERTIES% %WLP_JAVA_PROPERTIES% set JAVA_OPTIONS=%JAVA_OPTIONS% %JAVA_PROPERTIES% -Djava.net.preferIPv4Stack=true -Dwlw.iterativeDev=%iterativeDevFlag% -Dwlw.testConsole=%testConsoleFlag% -Dwlw.logErrorsToConsole=%logErrorsToConsoleFlag% if "%PRODUCTION_MODE%"=="true" ( set JAVA_OPTIONS= -Djava.net.preferIPv4Stack=true -Dweblogic.ProductionModeEnabled=true %JAVA_OPTIONS% ) @REM -- Setup properties so that we can save stdout and stderr to files if NOT "%WLS_STDOUT_LOG%"=="" ( echo Logging WLS stdout to %WLS_STDOUT_LOG% set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true -Dweblogic.Stdout=%WLS_STDOUT_LOG% ) if NOT "%WLS_STDERR_LOG%"=="" ( echo Logging WLS stderr to %WLS_STDERR_LOG% set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true -Dweblogic.Stderr=%WLS_STDERR_LOG% ) @REM ADD EXTENSIONS TO CLASSPATHS if NOT "%EXT_PRE_CLASSPATH%"=="" ( if NOT "%PRE_CLASSPATH%"=="" ( set PRE_CLASSPATH=%EXT_PRE_CLASSPATH%;%PRE_CLASSPATH% ) else ( set PRE_CLASSPATH=%EXT_PRE_CLASSPATH% ) ) set POST_CLASSPATH=%POST_CLASSPATH%;%UCM_ORACLE_HOME%\ucm\idc\jlib\idcloader.jar;%UCM_ORACLE_HOME%\ucm\idc\components\NativeOsUtils\classes-NativeOsUtils.jar call "%UCM_ORACLE_HOME%\ucm\idc\bin\idcCommEnv.cmd" if NOT "%EXT_POST_CLASSPATH%"=="" ( if NOT "%POST_CLASSPATH%"=="" ( set POST_CLASSPATH=%POST_CLASSPATH%;%EXT_POST_CLASSPATH% ) else ( set POST_CLASSPATH=%EXT_POST_CLASSPATH% ) ) if NOT "%WEBLOGIC_EXTENSION_DIRS%"=="" ( set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true -Dweblogic.ext.dirs=%WEBLOGIC_EXTENSION_DIRS% ) set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true @REM SET THE CLASSPATH if NOT "%WLP_POST_CLASSPATH%"=="" ( if NOT "%CLASSPATH%"=="" ( set CLASSPATH=%WLP_POST_CLASSPATH%;%CLASSPATH% ) else ( set CLASSPATH=%WLP_POST_CLASSPATH% ) ) if NOT "%POST_CLASSPATH%"=="" ( if NOT "%CLASSPATH%"=="" ( set CLASSPATH=%POST_CLASSPATH%;%CLASSPATH% ) else ( set CLASSPATH=%POST_CLASSPATH% ) ) if NOT "%WEBLOGIC_CLASSPATH%"=="" ( if NOT "%CLASSPATH%"=="" ( set CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH% ) else ( set CLASSPATH=%WEBLOGIC_CLASSPATH% ) ) if NOT "%PRE_CLASSPATH%"=="" ( set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH% ) if NOT "%JAVA_VENDOR%"=="BEA" ( set JAVA_VM=%JAVA_VM% %JAVA_DEBUG% %JAVA_PROFILE% ) else ( set JAVA_VM=%JAVA_VM% %JAVA_DEBUG% %JAVA_PROFILE% )
startManagedWeblogic.cmd
@ECHO OFF @REM WARNING: This file is created by the Configuration Wizard. @REM Any changes to this script Jan be lost when adding extensions to this configuration. SETLOCAL @REM --- Start Functions -- GOTO :ENDFUNCTIONS :usage echo Need to set SERVER_NAME and ADMIN_URL environment variables or specify echo them in command line: echo Usage: %1 SERVER_NAME {ADMIN_URL} echo for example: echo %1 managedserver1 https://mohammad-amr-lt:7001 GOTO :EOF :ENDFUNCTIONS @REM --- End Functions -- @REM * @REM This script is used to start a managed WebLogic Server for the domain in @REM the current working directory. This script can either read in the SERVER_NAME and @REM ADMIN_URL as positional parameters or will read them from environment variables that are @REM set before calling this script. If SERVER_NAME is not sent as a parameter or exists with a value @REM as an environment variable the script will EXIT. If the ADMIN_URL value cannot be determined @REM by reading a parameter or from the environment a default value will be used. @REM @REM For additional information, refer to "Managing Server Startup and Shutdown for Oracle WebLogic Server" @REM (https://download.oracle.com/docs/cd/E23943_01/web.1111/e13708/overview.htm) @REM * @REM Set SERVER_NAME to the name of the server you wish to start up. set DOMAIN_NAME=theitroad set ADMIN_URL=https://mohammad-amr-lt:7001 @REM Set WLS_USER equal to your system username and WLS_PW equal @REM to your system password for no username and password prompt @REM during server startup. Both are required to bypass the startup @REM prompt. set WLS_USER= set WLS_PW= @REM Set JAVA_OPTIONS to the java flags you want to pass to the vm. i.e.: @REM set JAVA_OPTIONS=-Dweblogic.attribute=value -Djava.attribute=value set JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true -Dweblogic.security.SSL.trustedCAKeyStore="D:\OracleWebCenter\OracleWC\WL6Middleware\wlserver_10.3\server\lib\cacerts" %JAVA_OPTIONS% @REM Set JAVA_VM to the java virtual machine you want to run. For instance: @REM set JAVA_VM=-server set JAVA_VM= @REM Set SERVER_NAME and ADMIN_URL, they must by specified before starting @REM a managed server, detailed information can be found at @REM https://download.oracle.com/docs/cd/E23943_01/web.1111/e13708/overview.htm if "%1"=="" ( if "%SERVER_NAME%"=="" ( CALL :usage %0 GOTO :EOF ) ) else ( set SERVER_NAME=%1 shift ) if "%1"=="" ( if "%ADMIN_URL%"=="" ( CALL :usage %0 GOTO :EOF ) ) else ( set ADMIN_URL=%1 shift ) @REM Export the admin_url whether the user specified it OR it was sent on the command-line set ADMIN_URL=%ADMIN_URL% set SERVER_NAME=%SERVER_NAME% set DOMAIN_HOME=D:\OracleWebCenter\OracleWC\WL6Middleware\user_projects\domains\theitroad if "%1"=="" ( @REM Call Weblogic Server with our default params since the user did not specify any other ones call "%DOMAIN_HOME%\bin\startWebLogic.cmd" nodebug noderby noiterativedev notestconsole noLogErrorsToConsole ) else ( @REM Call Weblogic Server with the params the user sent in INSTEAD of the defaults call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %1 %2 %3 %4 %5 %6 %7 %8 %9 ) ENDLOCAL