走自己的路

          路漫漫其修遠(yuǎn)兮,吾將上下而求索

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            50 隨筆 :: 4 文章 :: 118 評論 :: 0 Trackbacks
          在Oracle Application Server環(huán)境下OC4J Instance下的每個process的jvm的rmi端口是動態(tài)分配的,如果能解決這個動態(tài)的問題,就可以使用ORMI作為jndi的provider url。我們的OC4J Instance是有3個process(jvm)的:


          如何固定OC4J Instance的端口呢?
          1.修改opmn.xml, 我們把rmi端口固定在12405-12407三個端口之間,這樣就保證了12405這個端口是肯定可以使用的,它必然會分配給一個process
          \
           <process-type id="OC4J_TTS" module-id="OC4J" status="enabled">
                         
          <module-data>
                            
          <category id="start-parameters">
                               
          <data id="java-options" value="-server -Djava.security.policy=$ORACLE_HOME/j2ee/OC4J_TTS/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Doc4j.jms.debug=true -Doc4j.jms.printStackTrace=true"/>
                               
          <data id="oc4j-options" value="-userThreads"/>
                            
          </category>
                            
          <category id="stop-parameters">
                               
          <data id="java-options" value="-Djava.security.policy=$ORACLE_HOME/j2ee/OC4J_TTS/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
                            
          </category>
                         
          </module-data>
                         
          <start timeout="600" retry="2"/>
                         
          <stop timeout="120"/>
                         
          <restart timeout="720" retry="2"/>
                         
          <port id="default-web-site" range="12501-12600" protocol="ajp"/>
                         
          <port id="rmi" range="12405-12407"/>
                         
          <port id="rmis" range="12701-12800"/>
                         
          <port id="jms" range="12601-12700"/>
                         
          <process-set id="default_group" numprocs="3"/>
                      
          </process-type>


          2.配置同步策略sessions.xml
                <remote-command>
                   
          <commands>
                      
          <cache-sync>true</cache-sync>
                   
          </commands>
                   
          <transport xsi:type="jms-topic-transport">
                      
          <topic-host-url>ormi://localhost:12405</topic-host-url>
                      
          <topic-connection-factory-name>TopicConnectionFactory</topic-connection-factory-name>
                      
          <topic-name>jms/cachesyn</topic-name>
                      
          <jndi-naming-service>
                         
          <url>ormi://localhost:12405</url>
                         
          <user-name>iasFW</user-name>
                         
          <password>2165EA174261FEADFEC371B11ACA8799</password>
                         
          <initial-context-factory-name>oracle.j2ee.rmi.RMIInitialContextFactory</initial-context-factory-name>
                      
          </jndi-naming-service>
                   
          </transport>
                
          </remote-command>

          3.初始化session時的注意點

          (1) deploy時初始化
          如果是deploy時初始化,可能需要等待,不能辦證初始化session servlet的線程和jms server的線程完成的先后順序,需要等待jmssever線程執(zhí)行完畢,可以正確lookup出connection factory和topic

          (2)第一次訪問應(yīng)用時初始化
          這種方式初始化初始化的時候,JmsServer線程已經(jīng)執(zhí)行完畢,我們已經(jīng)可以正常的進(jìn)行cache同步了




          主站蜘蛛池模板: 旬邑县| 鄱阳县| 精河县| 攀枝花市| 滕州市| 合水县| 祥云县| 石泉县| 若尔盖县| 桐柏县| 中山市| 庐江县| 九江市| 保定市| 阿坝| 东兰县| 东源县| 保康县| 佳木斯市| 兴城市| 都匀市| 历史| 进贤县| 通江县| 河北省| 英德市| 措勤县| 武安市| 南京市| 招远市| 蒲江县| 陆良县| 合江县| 洞口县| 米易县| 珲春市| 东辽县| 华阴市| 项城市| 巴彦淖尔市| 临沂市|