走自己的路

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

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


          如何固定OC4J Instance的端口呢?
          1.修改opmn.xml, 我們把rmi端口固定在12405-12407三個(gè)端口之間,這樣就保證了12405這個(gè)端口是肯定可以使用的,它必然會(huì)分配給一個(gè)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時(shí)的注意點(diǎn)

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

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




          主站蜘蛛池模板: 东安县| 永城市| 吕梁市| 海城市| 双流县| 南平市| 彰化县| 庆安县| 吴堡县| 崇左市| 百色市| 惠东县| 淳安县| 昔阳县| 壤塘县| 汉寿县| 响水县| 西乌| 长武县| 长沙市| 安新县| 乐昌市| 普安县| 辽阳县| 紫阳县| 东丽区| 封丘县| 红桥区| 广西| 东港市| 耿马| 大厂| 铜川市| 永登县| 马山县| 白沙| 纳雍县| 开化县| 泽普县| 崇左市| 长海县|