rezeki2u's tags:
rezeki2u reads (1):
Who's reading rezeki2u (0):
  • Currently, no one
Background ---------- Customers using 9iAS with less than v1.0.2.2.x should upgrade. NOTE: Starting Apache JServ manually, or starting multiple Apache Jserv processes is quite error prone. Starting with Oracle9iAS 1.0.2.2 a new module (mod_oprocmgr) has been included to simplify this process. The Process Manager module can start and manage multiple Jserv processes. It handles death detection and will restart dead or hung JVMs. For more information on this new feature before considering manual Apache JServ configuration. Reference: Note 155661.1 Introduction to the Process Manager mod_oprocmgr Note Contents/ Index -------------------- 1. Architecture to be implemented 2. Files to be modified 3. Pre-configuration Requirements 4. Configuration of the HTTP Server machine 5. Configuration of the Application Servers machines 6. For a Static HTML Configuration 7. Notes 8. Other documentation to read 9. Possible errors 1. Architecture to be implemented : ----------------------------------- (Load Balancing through the JServ machines) --------------- | HTTP Server | machine #1 (9iAS HTTP Server only) --------------- Valid Workaround : $OH/forms60/java/* / \ ^ / \ | ---------------------- ---------------------- | | Application Server | | Application Server | (9iAS Enterprise Edition) | Jserv #1 | | JServ #2 | ---------------------- ---------------------- machine #2 machine #3 There is also another architecture that may be more reliable... but the principle it's the same. (if you use this architecture you don't need to copy the Java - $OH/forms60/java/) ------------------------------------ --------------------------- | HTTP Server + Application Server | | Application Server | | 9iAS Enterprise Edition |------| 9iAS Enterprise Edition | | Jserv #1 | | JServ #2 | ------------------------------------ --------------------------- same configuration for same configuration for machine #1 and #2 machine #3 If you want to start more than one JServ machine on each machine... it can be done, by just creating the files to start and stop the JServ machines. 2. Files to be modified : ------------------------- - httpd.conf --> \Apache\Apache\conf (machine #1) - jserv.conf --> \Apache\JServ\conf (machine #1) - jserv.properties --> \Apache\JServ\conf (machine #2 and #3) - zone.properties --> \Apache\JServ\servlets (machine #2 and #3) - default.env --> \forms60\server (machine #2 and #3) - formsweb.cfg --> \forms60\server (machine #2 and #3) 3. Pre-configuration Requirements : ----------------------------------- -> environment PATH variable # Windows Environment PATH must include \bin # Solaris Environment LD_LIBRARY_PATH must include /lib # HP Environment SHLIB_PATH must include /lib # AIX Environment LIBPATH must include /lib 4. Configuration of the HTTP Server machine : --------------------------------------------- -> httpd.conf ... # Please be aware of this value - number of requests to both JServ machines # 9iAS 1.0.0 no more than 256 ; 9iAS 1.0.2.X no more than 1024 MaxClients 150 ... # It's needed a virtual directory to map the whole part of the JAVA Client, on the HTTP Server # # VERY IMPORTANT : # A copy of the $OH/forms60/java from the Application Servers. Be aware that each time is applied a patchset of # Developer 6i, you'll need to re-copy the $OH/forms60/java to the HTTP Server. Alias /forms60java/ "D:\\forms60/java/" Order allow,deny Allow from all ... -> jserv.conf => working # Windows Environment ... # Because this architecture only works, by lifting the JServ machines manually on... # This is an extract from the Manual for Patchset 5 of Developer 6i to Load Balance both JServ machine, from a # "root" zone (set by default). ApJServManual on ApJServMount /servlet balance://set/root ApJServBalance set JServ1 ApJServBalance set JServ2 ApJServHost JServ1 ajpv12://:8001 ApJServHost JServ2 ajpv12://:8002 ApJServRoute JS1 JServ1 ApJServRoute JS2 JServ2 ... # Solaris Environment ... LoadModule jserv_module /Apache/Jserv/libexec/mod_jserv.so # Because this architecture only works, by lifting the JServ machines manually on... # This is an extract from the Manual for Patchset 5 of Developer 6i to Load Balance both JServ machine, from a # "root" zone (set by default). ApJServManual on ApJServMount /servlet balance://set/root ApJServBalance set JServ1 ApJServBalance set JServ2 ApJServHost JServ1 ajpv12://:8001 ApJServHost JServ2 ajpv12://:8002 ApJServRoute JS1 JServ1 ApJServRoute JS2 JServ2 ... 5. Configuration of the Application Servers machines : ------------------------------------------------------ -> Create a file start.bat and stop.bat (to start and stop manually the JServ's machines) # Windows Environment -> start.bat set FORMS60_PATH=D:\myapp;D:\\Forms60 set properties1=D:\\Apache\Jserv\conf\jserv.properties set log=D:\\Apache\Apache\logs\jserv_manual set CLASSPATH=%CLASSPATH%;D:\\Apache\JServ\ApacheJServ.jar;D:\\Apache\Jsdk\lib\jsdk.jar;D:\\jdbc\lib\classes111.zip;D:\\Apache\Apache\htdocs\_pages;D:\\Apache\Apache\htdocs\OnlineOrders_html;D:\\Apache\Apache\htdocs\OnlineOrders_html\OnlineOrders.jar;D:\\Apache\BC4J\lib\connectionmanager.zip;D:\\forms60\java\f60srv.jar;D:\\forms60\java set JAVA=D:\\Apache\jdk\bin\java %JAVA% -classpath %CLASSPATH% org.apache.jserv.JServ %properties1% >> %log%1.log # Windows Environment -> stop.bat set properties1=D:\\Apache\Jserv\conf\jserv.properties set CLASSPATH=%CLASSPATH%;D:\\Apache\JServ\ApacheJServ.jar;D:\\Apache\Jsdk\lib\jsdk.jar;D:\\jdbc\lib\classes111.zip;D:\\Apache\Apache\htdocs\_pages;D:\\Apache\Apache\htdocs\OnlineOrders_html;D:\\Apache\Apache\htdocs\OnlineOrders_html\OnlineOrders.jar;D:\\Apache\BC4J\lib\connectionmanager.zip;D:\\forms60\java\f60srv.jar;D:\\forms60\java set JAVA=D:\\Apache\jdk\bin\java %JAVA% -classpath %CLASSPATH% org.apache.jserv.JServ %properties1% -s # Solaris Environment -> start.sh #!/bin/sh ORACLE_HOME=/; export ORACLE_HOME IAS_HOME=/; export IAS_HOME APACHE=$IAS_HOME/Apache; export APACHE APACHE_HOME=$APACHE/Apache; export APACHE_HOME JSERV_HOME=$APACHE/Jserv; export JSERV_HOME JSERV_CONF=$JSERV_HOME/etc; export JSERV_CONF JAVA_HOME=$APACHE/jdk; export JAVA_HOME CLASSPATH=$CLASSPATH:$APACHE/Jsdk/lib/jsdk.jar:$IAS_HOME/jdbc/lib/classes12.zip:$JSERV_HOME/libexec/ApacheJServ.jar:$ORACLE_HOME/forms60/java\f60srv.jar:$ORACLE_HOME/forms60/java; export CLASSPATH JAVA=$JAVA_HOME/bin/java; export JAVA LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH FORMS60_PATH=$ORACLE_HOME/forms60; export FORMS60_PATH nohup $JAVA -classpath $CLASSPATH org.apache.jserv.JServ $JSERV_CONF/jserv.properties >> $JSERV_HOME/logs/jserv.startup.log 2>&1 & # Solaris Environment -> stop.sh #!/bin/sh ORACLE_HOME=/; export ORACLE_HOME IAS_HOME=/; export IAS_HOME APACHE=$IAS_HOME/Apache; export APACHE APACHE_HOME=$APACHE/Apache; export APACHE_HOME JSERV_HOME=$APACHE/Jserv; export JSERV_HOME JSERV_CONF=$JSERV_HOME/etc; export JSERV_CONF JAVA_HOME=$APACHE/jdk; export JAVA_HOME CLASSPATH=$CLASSPATH:$APACHE/Jsdk/lib/jsdk.jar:$IAS_HOME/jdbc/lib/classes12.zip:$JSERV_HOME/libexec/ApacheJServ.jar:$ORACLE_HOME/forms60/java\f60srv.jar:$ORACLE_HOME/forms60/java; export CLASSPATH JAVA=$JAVA_HOME/bin/java; export JAVA LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH FORMS60_PATH=$ORACLE_HOME/forms60; export FORMS60_PATH nohup $JAVA -classpath $CLASSPATH org.apache.jserv.JServ $JSERV_CONF/jserv.properties -s -> jserv.properties ... # Windows Environment # CLASSPATH for Forms 6i Listener Servlet wrapper.classpath=D:\\forms60\java\f60srv.jar wrapper.path=D:\\bin;D:\\bin # Solaris Environment # CLASSPATH for Forms 6i Listener Servlet wrapper.classpath=//forms60/java/f60srv.jar wrapper.path=//bin://bin wrapper.env=LD_LIBRARY_PATH=//lib://lib ... # Put the bindaddress and port equal to the entry in the "ApJServHost" from jserv.conf, in the HTTP Server machine bindaddress= port= # Please be aware that the zones should include the one that you've included on "ApJServMount" from jserv.conf, # in the HTTP Server machine zones=root ... # The log file of the particulary JServ machine log.file=D:\\Apache\Jserv\logs\jserv1.log ... -> default.env (it must be created on D:\\forms60\server\default.env) (configuration file for the Forms Listener Servlet) # Windows Environment ORACLE_HOME=D:\ PATH=D:\\bin FORMS60_PATH=D:\\forms60 # Solaris Environment ORACLE_HOME=/ PATH=//bin LD_LIBRARY_PATH=//lib://network/jre11/lib/sparc/native_threads FORMS60_PATH=//forms60 # FORMS60_OUTPUT, FORMS60_REPFORMAT, REPORTS60_PATH, etc. also can be defined here -> zone.properties ... # This is the repository for the Forms Servlet repositories=D:\\forms60\java\f60srv.jar ... # This is an alias to the f60servlet servlet.f60servlet.code=oracle.forms.servlet.FormsServlet ... # This is the entry to the Forms Listener Servlet environment file servlet.oracle.forms.servlet.ListenerServlet.initArgs=EnvFile=D:\\forms60\server\default.env -> formsweb.cfg ... serverURL=/servlet/oracle.forms.servlet.ListenerServlet 6. For a Static HTML Configuration : ------------------------------------ 7. Notes : ---------- The Forms Listener Servlet is only to be implemented in HTTP or HTTPS mode. The Forms Listener Servlet does not use Forms-specific load balancing (Load Balancer Server and Load Balancer Client). However, it supports standard load balancing methods. 8. Other documentation to read : -------------------------------- For further informations it's advised to read the following documentation : Oracle9iAS Forms Services - Forms6i Patch 10: Forms Listener Servlet for Deployment of Forms on the Internet Oracle9i Application Server Documentation Release 1 (v1.0.2.2.2a) Oracle9i Application Server Oracle HTTP Server powered by Apache Performance Guide Chapter 5 Optimizing Apache JServ Section: How to Perform Load Balancing Load-Balancing (JServ) - [url]http://java.apache.org/jserv/howto.load-balancing.html 9.[/url] Possible errors : -------------------- A. "Internal Server Error" -> Reference: Note 133171.1 Forms Servlet - Internal error B. "Exception in thread "main" java.lang.NoClassDefFoundError: " Reference: Bug 1858489 IAS1021 CAN'T START JSERV MANNUALLY FOR FORMS LISTENER SERVLET LOAD BALANCING Work-around/ solution: Put dms2Server.jar, in the start JServ script C. "Connections from / are not allowed" Edit the jserv.properties of each Application Server and do the following : security.allowedAddresses=

del.icio.us Digg reddit StumbleUpon

Comment on "How To Implement Load Balancing With Forms Listener Servlet"

ORACLE ias apache load balancing forms (Click to add tags below)

(Separate tags using commas, for example: New York, dating, vegetarian)
Comment Anonymously

Subscribe to the SoulCast Newsletter To Receive the Best Uncensored Blogs About Love, Sex, Relationships, God, Politics, and More.


Ever wonder what people really think and how they really live?

Read about the real lives of regular people like you whose powerful moving blogs will make you smile, cry, emotional, and warm inside.

Your FREE SoulCast newsletter is just moments away. Receive your first feel-good blog by entering your email address below.

First Name:
Your Email:


You can unsubscribe at any time with one click. We NEVER sell or share your email address with anyone. Period. close