반응형

답변입니다.
 
먼저 확인하는 내용입니다.
1. http://inho21.com/ 요청과 http://inho21.com/TEMS/ 라는 요청들에 대한 Context 간 Session 공유로 확인합니다.
2. http://inho21.com 라는 도메인으로 요청이 들어오며, 이는 웹서버를 통하여 들어온다고 확인합니다.
 
올려주신 설정은 확인하였습니다.
먼저 WEBMain.xml에서 context간 Session 공유에서 단일 도메인이기 때문에 <session-cookie> 설정은 없어도 됩니다.
======================================================================================
      <session-config>
         <distributable>true</distributable>
         <shared>true</shared>
         <timeout>600</timeout>
         <reload-persistent>true</reload-persistent>
      </session-config>
   </context-group>
   <session-server>
      <primary-server>hoya21</primary-server>
   </session-server>
</web-container>
======================================================================================
 
그리고 JEUSMain.xml에서 세션 서버를 설정하셨고, WEBMain.xml에서 <distributable>true</distributable> 로 설정하셨기 때문에 중앙집중식으로 세션 서버를 사용하시고, 이에 대하여 Container간 단일 Session Server를 사용하게 됩니다.
 
이와 같이 되었다면 다음 jeuadmin `hostname` -Uadministrator -P{설치시 암호} 를 실행하여,
console 관리툴에 들어가시기 바랍니다.
그 후, st -s 를 입력하셨을 경우(한개의 컨테이너 일 경우)
Context(Application) 갯수인 2개가 나오지 않고, 1개로 나오는지를 확인하시기 바랍니다.
1개로 나와야 두개의 Context가 하나의 Session Server를 사용하고 있다는 것입니다.
 
이후, 각 Context간 Session이 공유되는지를 확인하시기 바랍니다.
 
감사합니다.
 
 
ps. 샘플 소스로 Session.jsp 라는 소스를 올립니다. 세션이 공유 되고 있다면, 한 브라우저에서 /Session.jsp 호출 후, /TEMS/Session.jsp 호출시 하나의 JSessionID로 나와야 하며, 뒤에 호출된 것에 대해서 isNew() 값은 false로 나와야 합니다.
 
Session.jsp
======================================================================================
<%@ page language="java" session="true" contentType="text/html; charset=euc-kr" %>
<%
    out.println("test <br>");
    out.println("Session ID : "+session.getId() + "<br>");
    out.println("Session Creation Time : "+new java.util.Date(session.getCreationTime()) + "<br>");
    out.println("Session Last Access Time : "+new java.util.Date(session.getLastAccessedTime()) + "<br>");
    out.println("Session TimeOut : "+session.getMaxInactiveInterval() + "<br>");
    out.println("Session is new? "+session.isNew() + "<br>");
%>
======================================================================================
 
 
 

<질문 내용>
 
JEUS6.0 #Fix6
동일안 컨테이너에 컨텍스트 구분만 해서 사용합니다.
사용 컨텍스트 : '/', '/TEMS' 2개
node name : hoya21
가상도메인 : inho21.com
 
 
제목을 '세션공유에 대한 x차 질문입니다.' 라고 해서 계속 세팅을 하고 있습니다.
이전답변에서는 동일한 컨테이너에 컨텍스트를 등록하면 세션공유가 된다고 했던것 같은데...
4차 답변에서는 동일한 컨테이너 일지라도 컨텍스트간 세션공유가 되지 않는다..라는 답변이 있었고,
이것을 해결할려면 patch를 받아야 한다고 했습니다.
 
현재는 개발중 테스트 목적으로 개발자 노트북에 JEUS를 설치해서 동작 확인 및 설정을 하고 있습니다.
해서 JEUS6.0 #Fix6을 받아 설치하고, 같이 제공하는 patch를 설치했습니다.
데모버젼에서는 세션공유가 안되고, 정식라이센스를 발급 받은 서버에서만 세션공유를 위한 patch파일을
배포하는것인지 알고 싶습니다.
 
개발자의 입장에서 세션공유 테스트를 하려면 더이상 어찌 해야하는지도 답변을 주시면 감사하겠습니다.
 
--------------------------------------------아래---------------------------------------------
 
- JEUSMain.xml
   <node>
      <name>hoya21</name>
        <!-- Session Server Setting -->
        <session-server>
          <type>primary</type>
          <resolution>60000</resolution>
          <connect-timeout>5000</connect-timeout>
          <read-timeout>20000</read-timeout>
          <passivation-to>-1</passivation-to>
          <removal-to>1800000</removal-to>
          <check-to>30000</check-to>
        </session-server>

- WEBMain.xml
      <session-config>
         <!-- This Option is JEUS Session Server Use : Default - false -->
         <!-- If this Option is true, All Context Group Use JEUS Session Server -->
         <distributable>true</distributable>
         <!-- If this Option is true, All Context Group Share Session -->
         <!-- This Option is All Context Group Application Share Session : Default - false -->
         <shared>true</shared>
         <timeout>600</timeout>
         <reload-persistent>true</reload-persistent>
         <session-cookie>
            <jsessionid-name>JSESSIONID2</jsessionid-name>
            <domain>.inho21.com</domain>
         </session-cookie>
      </session-config>
   </context-group>
   <!-- Session Clustering Setting for No Node Clustering -->
   <session-server>
      <primary-server>hoya21</primary-server>
   </session-server>
</web-container>
 
출처 : http://technet.tmax.co.kr/kr/inquiry/qna/jeus/readBoardForm.do?bbsCode=qna_jeus&fc=inquiry&sc=inquiry_qna&tc=inquiry_qna_jeus&currentPage=1&seqNo=41849&categoryId=&productCode=&range=10&searchType=TITLE&searchText=%EA%B3%B5%EC%9C%A0





















JEUS Enterprise버전에서는 SessinServer를 제공합니다.
데모라이센스를 사용하시는 경우 기능제약이 없으므로 설정이 가능합니다.
 
JEUS Server안내서 9장과 JEUS Web Container안내서 8장을 참조하시어 SessionServer를 설정하시면
세션 공유가 가능합니다.
 
== JEUSMain.xml 파일
<jeus-system>
    . . .
    <node>
        . . .
        <session-server>
            <session-manager>
                <name>session1</name>
                <passivation-to>1800000</passivation-to>
                <removal-to>3600000</removal-to>
            </session-manager>
        </session-server>
        . . .
    </node>
 
위와 같이 Session Manager를 설정해 두고
 
== WEBMain.xml 파일 (3개의 컨테이너에 동일하게 설정)
<?xml version="1.0"?>
<web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
        . . .
    <session-cluster>
        <session-server>
            <server-name>session1</server-name>
            <connect-timeout>120000</connect-timeout>
            <read-timeout>120000</read-timeout>
        </session-server>
    </session-cluster>

와 같이 설정하시면 사용이 가능합니다.
 
위의 설정은 간략히 설정한 것입니다.
세부적인 옵션과 용도는 매뉴얼을 참고하시기 바랍니다.
 
 
 
----------------------------------------------------------------
안녕하세요
session 공유 대한 문의 드립니다.
 
현재 사용중이 jeus(jeus 5.0)에 컨테이너 3개를 설정하여
 
웹사이트를  3개를 운영 하려고 합니다. 웹 사이트 1 에  로그인후 session 을 유지 하면서
 
웹사이트 1~ 3 까지 공유하여 세션이 끈어지지 않게 할수 없는지 궁금합니다.


출처 :  http://technet.tmax.co.kr/kr/inquiry/qna/jeus/readBoardForm.do?bbsCode=qna_jeus&fc=inquiry&sc=inquiry_qna&tc=inquiry_qna_jeus&currentPage=4&seqNo=38491&categoryId=&productCode=&range=10&searchType=TITLE&searchText=%EA%B3%B5%EC%9C%A0
반응형

'WAS > JEUS' 카테고리의 다른 글

JAVA Melody Jeus 추가  (0) 2019.12.02
제우스에서 log4sql 사용하기  (0) 2011.03.15
JEUSMain.xml Datasource 암호 설정  (0) 2011.01.13
IBM JVM 튜닝 - 3  (0) 2009.08.24
제우스 환경 설정 부분  (0) 2009.03.05
반응형

  SELECT   ROUND (BITAND (s.ownerid, 65535)) parent_session_sid,
           ROUND (BITAND (s.ownerid, 16711680) / 65536) parent_session_instid,
           s.INST_ID,
           s.SADDR,
           s.SID,
           s.SERIAL#,
           s.AUDSID,
           s.PADDR,
           s.USER#,
           s.USERNAME,
           s.COMMAND,
           s.OWNERID,
           s.TADDR,
           s.LOCKWAIT,
           s.STATUS,
           s.SERVER,
           s.SCHEMA#,
           s.SCHEMANAME,
           s.OSUSER,
           s.PROCESS,
           s.MACHINE,
           s.PORT,
           s.TERMINAL,
           UPPER (s.PROGRAM) PROGRAM,
           s.TYPE,
           s.SQL_ADDRESS,
           s.SQL_HASH_VALUE,
           s.SQL_ID,
           s.SQL_CHILD_NUMBER,
           s.PREV_SQL_ADDR,
           s.PREV_HASH_VALUE,
           s.PREV_SQL_ID,
           s.PREV_CHILD_NUMBER,
           s.PLSQL_ENTRY_OBJECT_ID,
           s.PLSQL_ENTRY_SUBPROGRAM_ID,
           s.PLSQL_OBJECT_ID,
           s.PLSQL_SUBPROGRAM_ID,
           s.MODULE,
           s.MODULE_HASH,
           s.ACTION,
           s.ACTION_HASH,
           s.CLIENT_INFO,
           s.FIXED_TABLE_SEQUENCE,
           s.ROW_WAIT_OBJ#,
           s.ROW_WAIT_FILE#,
           s.ROW_WAIT_BLOCK#,
           s.ROW_WAIT_ROW#,
           s.LOGON_TIME,
           s.LAST_CALL_ET,
           s.PDML_ENABLED,
           s.FAILOVER_TYPE,
           s.FAILOVER_METHOD,
           s.FAILED_OVER,
           s.RESOURCE_CONSUMER_GROUP,
           s.PDML_STATUS,
           s.PDDL_STATUS,
           s.PQ_STATUS,
           s.CURRENT_QUEUE_DURATION,
           s.CLIENT_IDENTIFIER,
           s.BLOCKING_SESSION_STATUS,
           s.BLOCKING_INSTANCE,
           s.BLOCKING_SESSION,
           s.SEQ#,
           s.EVENT#,
           s.EVENT,
           s.P1TEXT,
           s.P1,
           s.P1RAW,
           s.P2TEXT,
           s.P2,
           s.P2RAW,
           s.P3TEXT,
           s.P3,
           s.P3RAW,
           s.WAIT_CLASS_ID,
           s.WAIT_CLASS#,
           s.WAIT_CLASS,
           s.WAIT_TIME,
           s.SECONDS_IN_WAIT,
           s.STATE,
           s.SERVICE_NAME,
           s.SQL_TRACE,
           s.SQL_TRACE_WAITS,
           s.SQL_TRACE_BINDS,
           s.ECID,
           stat.cpu - stat.CPU_this_call_start cpu_this_call,
           stat.CPU,
           stat.UGA_memory,
           stat.PGA_memory,
           stat.Commits,
           stat.Rollbacks
    FROM   GV$SESSION S,
           (  SELECT   ss.inst_id stat_inst_id,
                       ss.sid stat_sid,
                       SUM(DECODE (sn.name,
                                   'CPU used when call started', ss.VALUE,
                                   0))
                          CPU_this_call_start,
                       SUM(DECODE (sn.name,
                                   'CPU used by this session', ss.VALUE,
                                   0))
                          CPU,
                       SUM (DECODE (sn.name, 'session uga memory', ss.VALUE, 0))
                          uga_memory,
                       SUM (DECODE (sn.name, 'session pga memory', ss.VALUE, 0))
                          pga_memory,
                       SUM (DECODE (sn.name, 'user commits', ss.VALUE, 0))
                          commits,
                       SUM (DECODE (sn.name, 'user rollbacks', ss.VALUE, 0))
                          rollbacks
                FROM   GV$sesstat ss, GV$statname sn
               WHERE   ss.STATISTIC# = sn.STATISTIC# AND ss.inst_id = sn.inst_id
                       AND (   sn.name = 'CPU used when call started'
                            OR sn.name = 'CPU used by this session'
                            OR sn.name = 'session uga memory'
                            OR sn.name = 'session pga memory'
                            OR sn.name = 'user commits'
                            OR sn.name = 'user rollbacks')
            GROUP BY   ss.inst_id, ss.sid) stat
   WHERE   (    (s.USERNAME IS NOT NULL)
            AND (NVL (s.osuser, 'x') <> 'SYSTEM')
            AND (s.TYPE <> 'BACKGROUND'))
           AND ( (stat.stat_inst_id = s.inst_id) AND (stat.stat_sid = s.sid))
ORDER BY   "PROGRAM", OWNERID
반응형

+ Recent posts