반응형

출처 : http://westzero.net/40

이 글을 클릭하셨다면 log4sql 이 뭔지는 다들 알고 들어 오셨을겁니다.
만약 모르신다면 제가 일전에 소개한 포스트 'System.out.println()은 잊어라 log4sql이 온다.'를 보고오시면 됩니다.

※ 이 글은 제우스에서 DataSource를 사용할 경우에만 해당되는 사항입니다.

log4sql은 직접적으로 DataSource를 지원하지 않습니다. 그리고 제우스에서도 직접적으로 드라이버 클래스를 지정할 수 없습니다.
따라서 제우스에서는 원하는 드라이버 클래스를 지정하려면 BlackboxConnectionPoolDataSource를 사용해야 합니다.

지정하는 방법은 다음 순서대로 따라하시면 됩니다.
  1. 먼저 log4sql.jar를 $JEUS_HOME/lib/application 경로에 넣어 주세요.
  2. $JEUS_HOME/호스트명/JEUSMain.xml 파일을 열어 다음과 같이 수정하세요
    [code]
    <database>
        <vendor>oracle</vendor>
        <export-name>oracledb</export-name>
        <data-source-class-name>jeus.jdbc.driver.blackbox.BlackboxConnectionPoolDataSource</data-source-class-name>
        <data-source-type>ConnectionPoolDataSource</data-source-type>
        <property>
            <name>DriverClassName</name>
            <type>java.lang.String</type>
            <value>core.log.jdbc.driver.OracleDriver</value>
        </property>
        <property>
            <name>URL</name>
            <type>java.lang.String</type>
            <value>jdbc:oracle:thin:@192.169.30.244:1521:ora9i</value>
        </property>
        <property>
            <name>User</name>
            <type>java.lang.String</type>
            <value>scott</value>
        </property>
        <property>
            <name>Password</name>
            <type>java.lang.String</type>
            <value>tiger</value>
        </property>
    </database>
    [/code]
  3. 이제 제우스를 실행시켜서 적용이 되었는지 확인하면 됩니다.
생각보다 간단하게 끝났습니다.^^

저는 BlackboxConnectionPoolDataSource을 몰라서 약 3일간 삽질을 하다가 티맥스 테크넷의 'Spy를 사용하여 SQL 로그 보기' 를 보고 알았습니다. 그리고 나중에 찾아보니 테크넷에 저보다 먼저 log4sql 적용 방법을 문의하신 분도 계시더군요.

테크넷은 회원가입을 해야하고 쉽게 찾기가 어려워 이렇게 따로 포스팅을 올립니다.
이렇게 포스트로 작성하면 구글링으로 쉽게 찾을 수 있을꺼에요.^^
반응형

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

JAVA Melody Jeus 추가  (0) 2019.12.02
JEUS 5 세션 공유  (0) 2011.03.09
JEUSMain.xml Datasource 암호 설정  (0) 2011.01.13
IBM JVM 튜닝 - 3  (0) 2009.08.24
제우스 환경 설정 부분  (0) 2009.03.05
반응형

가이드에는 <database> 안에 <encryption>암호..</encryption> 으로 지정되어 있으나...

제길슨...

안먹어... jeus5는 모르는 child 원소란다 -_-ㅋ

아놔...


 찾아보니

<password>tiger</password>

값이

base64일 경우
<password>{base64}dGlnZXI=</password>

형태로 변경적용 하면 된다.


특정 값을 암호화 하는 방법은

 jeus 계정으로

$> encryption base64 tiger

하면
[base64] : [tiger] --> [encode:dGlnZXI=]
[base64] : [dGlnZXI=] --> [decode:tiger]


적용가능한 암호화 알고리즘
- base64
  많이 쓰이나 암호화와 복호화가 쉬움.
   또한 복호화 툴이 많이... 2초면 복호화..

- SHA
  해쉬 암호화 방식 (중간 유추가 안되고)
   입력 A -> 해쉬함수 -> XADDD (값이라면)
   비교시 값을 입력받아 똑같이 해쉬 결과값을 비교하는 방식 비교적 안전

- DES
- DESede
- AES
- SEED
- Blowfish




반응형

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

제우스에서 log4sql 사용하기  (0) 2011.03.15
JEUS 5 세션 공유  (0) 2011.03.09
IBM JVM 튜닝 - 3  (0) 2009.08.24
제우스 환경 설정 부분  (0) 2009.03.05
JAVA HEAPDUMP 분석방법  (0) 2009.03.05
반응형

<IPCPERM>

inter-process communication permission mask

Web Server 시스템에 대한 관리자가 아닌 개발자와 같은 다른 사용자가 wsdown이나 특정 프로세스를 기동 및 종료를 할 수 있으며 이를 wsadmin를 통해 확인할 수 있도록 한다. Unix 시스템 환경 하에서는 관리자 개인이나 그룹, 기타에게 각각 파일 접속 제어(판독기능/기록기능/수행기능)를 지정 할 수 있다. 즉, default인 경우에는 다른 사용자들은 위의 기능을 사용할 수 없으나, IPCPERM이 0777인 경우에는 다른 사용자들은 위의 모든 기능을 사용할 수 있다.

 

<Set user ID, Set group ID, Sticky bit>

In addition to the basic permissions discussed above, there are also three bits of information defined for files in UNIX :

  • SUID or setuid : change user ID on execution : if setuid bit is set, when the file be executed by a user, thre process will have the same rights as the owner of the file being executed.
  • SGID or setgid : chage group ID on execution : Same as above, but inherits rights of the group of the owner of the file. For directories it also may mean that when a new file is created in the directory it will inherit the group of the directory (and not of the user who created the file)
  • Sticky bit : It was used to trigger process to "stick" in memory after it is finished, now this usage is obsolete. Currently its use is system dependant and it is mostly used to suppress deletion of the files that belong to other users in the folder where you hava "write" access to.
  • Numeric representation

    • Octal digit | Binary value | Meaning
    • 0 000 setuid, setgid sticky bits are cleared
    • 1 001 sticky bit is set
    • 2 010 setgid bit is set
    • 3 011 setgid and sticky bits are set
    • 4 100 setuid bit is set
    • 5 101 setuid and sticky bits are set
    • 6 110 setuid and setgid bits are set
    • 7 111 setuid, setgid, sticky bits are set
  • Textual representation

    • SUID : if set, then replaces "x" in the owner permissions to "s", if owner has execute permission, or to "S" otherwise. Example: -rws------ both owner execute and SUID are set, -r-S------ SUID is set, but owner execute is not set
    • SGID : If set, then repplaces "x" in the group permissions to "s", if group has execute permission, or to "S" otherwise.
    • Sticky : If set, then replaces "x" in the others permissions to "t", if others have execute permissions, or to "T" otherwise

 

<Invocation Manager 설정>

Method invocation manager는 Engine Container에서 Servlet/JSP methods, stateless EJB methods 그리고 MDB methods와 같은 Stateless 메소드를 호출하는 동안 사용하는 외부 자원(external resource)을 추적하고 보고한다.

  • NoAction : 기능을 사용하지 않는다.
  • Warning : 이 선택사항이 선택되면, 만약 한 자원이 무상태 메소드 호출 동안 사용되었지만 반환할 때 닫지 않게 될 경우 이벤트가 container log에 warning 메시지로 기록된다.
  • AutoClose : 이 선택사항이 선택되면, 만약 한 자원이 무상태 메소드 호출 동안 사용되었으나 반환할 때 닫히지 않는다면 자원이 자동적으로 닫힌다.

위치는 <jeus-system> - <node> - <engine-container> - <invocation-manager-action> 이다.

AutoClose일 때 다음과 같은 메시지가 나온다.

  • 2008.05.08 17:17:16][0][0_540] [test-19] [Network-0907] <SocketStreamImpl> closing the SocketStream because of occuring the exception: [SocketStream(remote : test:63370(), local : test:9736(JNSServer), jeus.net.impl.SocketStream14@17dc299)]
     java.io.IOException: disconnected

Warning일 때

  • [2008.05.28 16:26:56][1][0_540] [container1-20] [MGR-0396] Resources are not closed after use: [JeusConnection[ID=oracle-13,actual=oracle.jdbc.driver.LogicalConnection@107e4bc]]
    [2008.05.28 16:26:56][0][0_540] [container1-20] [MGR-0107] RequestURI : /test.jsp

 

 

<WebtoB와 JEUS 사이에서 DOCROOT 변경 없이 이미지가 정상적으로 뜨게 하는 방법>

  • ServiceOrder가 URI, EXT 일 경우 : URI 절에서는 구별해서 처리하기 어렵다. 왜냐하면, URI에서 처리를 담당할 ServerType이나 Vhost를 설정하기 때문이다.
  • ServiceOrder가 EXT, URI 일 경우 : EXT 절에서 각각에 타입들에 대해서 각각의 ServerType를 설정하기 때문에 각각의 ServerType이나 Vhost에 따라서 JSP/Servlet는 해당 JEUS의 어플리케이션의 PATH에, 정적인 것은 해당 WebtoB의 DOCROOT나 Vhost의 DOCROOT에 저장하면 된다.

 

<period>의 역할

Worker Thread를 없애기 위해서 풀을 검사하는 시간 간격

 

<asqcount> 확인

문제가 있어서.. 다음에 확인.(cqcount가 증가하는 문제 발생.. 자세한 내역은 모르겠음)

 

<disable-pipe> 옵션

  • 이것은 JEUS에서 나오는 error 메시지에서 차이를 알 수 있다.
  • false 일때 : fail to reconnect => No such file or directory [IOException]

    • [2008.05.07 09:12:40][1][0_540] [container1-14] [WEB-3346] worker(webtob1-hth0(localhost:9900)-w00:null) : fail to reconnect
      <<__Exception__>>
      java.io.IOException: No such file or directory
              at jeus.util.net.PipeSocketImpl.pipeConnect(Native Method)
              at jeus.util.net.PipeSocketImpl.connect(PipeSocketImpl.java:46)
              at jeus.util.net.PipeSocket.createImpl(PipeSocket.java:89)
              at jeus.util.net.PipeSocket.<init>(PipeSocket.java:66)
              at jeus.util.net.WebtobPipeSocket.<init>(WebtobPipeSocket.java:25)
              at jeus.util.net.JeusNetUtil.getWebtobSocket(JeusNetUtil.java:194)
              at jeus.servlet.engine.WebtobThreadPoolManager.connectSocket(WebtobThreadPoolManager.java:529)
              at jeus.servlet.engine.WebtobThreadPoolManager.registryConnection(WebtobThreadPoolManager.java:522)
              at jeus.servlet.engine.WebtobRequestProcessor.reconnect(WebtobRequestProcessor.java:362)
              at jeus.servlet.engine.WebtobRequestProcessor.reconnect(WebtobRequestProcessor.java:328)
              at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:82)
      <<__!Exception__>>
  • true 일때 : fail to reconnect => Connection refused [ConnectException]

    • [2008.05.07 09:11:16][1][0_540] [container1-15] [WEB-3346] worker(webtob1-hth0(localhost:9900)-w01:null) : fail to reconnect
      <<__Exception__>>
      java.net.ConnectException: Connection refused
              at java.net.PlainSocketImpl.socketConnect(Native Method)
              at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
              at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
              at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
              at java.net.Socket.connect(Socket.java:464)
              at java.net.Socket.connect(Socket.java:414)
              at java.net.Socket.<init>(Socket.java:310)
              at java.net.Socket.<init>(Socket.java:125)
              at jeus.util.net.JeusNetUtil.getWebtobSocket(JeusNetUtil.java:179)
              at jeus.servlet.engine.WebtobThreadPoolManager.connectSocket(WebtobThreadPoolManager.java:529)
              at jeus.servlet.engine.WebtobThreadPoolManager.registryConnection(WebtobThreadPoolManager.java:522)
              at jeus.servlet.engine.WebtobRequestProcessor.reconnect(WebtobRequestProcessor.java:362)
              at jeus.servlet.engine.WebtobRequestProcessor.reconnect(WebtobRequestProcessor.java:328)
              at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:82)
      <<__!Exception__>>

 

<oracle database type>

  • OCI(type 2)

    • Oracle Call Interfase(OCI)
    • SQL을 실행하는 PL>SQL 어플리케이션, OCCI를 이용하는 C++ 어플리케이션, OCI기반 JDBC 드라이버를 사용하는 Java 어플리케이션, ODBC 드라이버를 사용하는 C 어플리케이션, OLEDB 드라이버를 사용하는 VB 어플리케이션, Pro*C 어플리케이션, 분산형 SQL에서 사용
    • 최신 Oracle Database Server 기능의 즉각적인 활용, 엔터프라이즈 수준의 성능과 확장성, 안정적인 보안 모델 구현, Oracle이 실행되는 모든 플랫폼에서 호환성 보장
  • THIN(type 4)

 

 

<enable-wait>

  • true :

    • tmax@test:~/jeus5/config/test$ da 1
      JEUS 5.0 (fix #25) JDBC Connection Pool Controller
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      ==========================================================================
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      1  oracle         2    10   10     0      0       true      true
      ==========================================================================
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      1  oracle         2    10   10     0      0       true      true
      ==========================================================================
    • 와 같이 나왔으며 위의 연결정보를 끊지 않고 12개를 띄운 것이다.
    • 결과로는 11번째 요청부터는 일정 시간이 지난 뒤에 요청이 반환되지 않았다.
    • <<__Exception__>>
      jeus.jdbc.connectionpool.WaitTimeoutException: enable-wait timeout occurred from the connection pool; export-name=[oracle]
              at jeus.jdbc.connectionpool.ConnectionStore.getObject(ConnectionStore.java:191)
              at jeus.jdbc.connectionpool.ConnectionStore.getConnection(ConnectionStore.java:245)
              at jeus.jdbc.connectionpool.ConnectionPool.prepareConnection(ConnectionPool.java:820)
              at jeus.jdbc.connectionpool.ConnectionPool.innerGetConnection(ConnectionPool.java:705)
              at jeus.jdbc.connectionpool.ConnectionPool.getConnection(ConnectionPool.java:642)
              at jeus.jdbc.datasource.DataSourceWrapper.getConnection(DataSourceWrapper.java:42)
              at jeus_jspwork._500_test_5fjsp._jspService(_500_test_5fjsp.java:64)
              at jeus.servlet.jsp.HttpJspBase.service(HttpJspBase.java:54)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
              at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java:101)
              at jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java:214)
              at jeus.servlet.jsp.JspServletWrapper.execute(JspServletWrapper.java:147)
              at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:183)
      <<__!Exception__>>
      jeus.jdbc.connectionpool.WaitTimeoutException: enable-wait timeout occurred from the connection pool; export-name=[oracle]
              at jeus.jdbc.connectionpool.ConnectionStore.getObject(ConnectionStore.java:191)
              at jeus.jdbc.connectionpool.ConnectionStore.getConnection(ConnectionStore.java:245)
              at jeus.jdbc.connectionpool.ConnectionPool.prepareConnection(ConnectionPool.java:820)
              at jeus.jdbc.connectionpool.ConnectionPool.innerGetConnection(ConnectionPool.java:705)
              at jeus.jdbc.connectionpool.ConnectionPool.getConnection(ConnectionPool.java:642)
              at jeus.jdbc.datasource.DataSourceWrapper.getConnection(DataSourceWrapper.java:42)
              at jeus_jspwork._500_test_5fjsp._jspService(_500_test_5fjsp.java:64)
              at jeus.servlet.jsp.HttpJspBase.service(HttpJspBase.java:54)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
              at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java:101)
              at jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java:214)
              at jeus.servlet.jsp.JspServletWrapper.execute(JspServletWrapper.java:147)
              at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:183)
  • false = 옵션이 없을 때

    • tmax@test:~/jeus5/config/test$ da 1
      JEUS 5.0 (fix #25) JDBC Connection Pool Controller
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      ==========================================================================
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      1  oracle         2    10   2      1      0       false     true
      ==========================================================================
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      1  oracle         2    10   10     0      1       false     true
      ==========================================================================
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      1  oracle         2    10   10     0      2       false     true
      ==========================================================================
    • 와 같이 나왔으며 위의 정보 연결을 끊지 않고 12개를 띄웠을 때이다.
    • 다음 12번째 의 결과 이다
      ConnectionPool query is select sysdate from dual
      con is JeusConnection[ID=oracle-12,actual=oracle.jdbc.driver.LogicalConnection@ed3e63]
      ??깃?? : 2008-05-07 12:34:42.0
    • ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      1  oracle         3    10   10     0      5       false     true
      ==========================================================================
      test_container1>coninfo oracle
      ========================================================
      Connection information list for oracle
      --------------------------------------------------------
      | id                   | state | usecount | state time(sec)
      --------------------------------------------------------
      oracle-15             idle    0          27.0
      oracle-5              active  0          31.0
      oracle-8              active  0          30.0
      oracle-13             idle    0          28.0
      oracle-4              active  0          32.0
      oracle-12             idle    0          28.0
      oracle-1              active  1          34.0
      oracle-9              active  0          29.0
      oracle-14             idle    0          27.0
      oracle-10             active  0          29.0
      oracle-11             idle    0          29.0
      oracle-2              active  1          33.0
      oracle-6              active  0          31.0
      oracle-3              active  1          33.0
      oracle-7              active  0          30.0
      ========================================================
      test_container1>coninfo oracle
      ========================================================
      Connection information list for oracle
      --------------------------------------------------------
      | id                   | state | usecount | state time(sec)
      --------------------------------------------------------
      oracle-15             idle    0          69.0
      oracle-5              active  0          74.0
      oracle-8              active  0          72.0
      oracle-13             idle    0          70.0
      oracle-4              active  0          74.0
      oracle-12             idle    0          70.0
      oracle-1              active  1          77.0
      oracle-9              active  0          72.0
      oracle-14             idle    0          70.0
      oracle-10             active  0          71.0
      oracle-11             idle    0          71.0
      oracle-2              active  1          76.0
      oracle-6              active  0          73.0
      oracle-3              active  1          75.0
      oracle-7              active  0          73.0
      ========================================================
      test_container1>info
      ==========================================================================
      id     name       min  max  current  idle  disposable  waiting   working
      ==========================================================================
      1  oracle         3    10   10     0      9       false     true
      ==========================================================================
      test_container1>coninfo oracle
      ========================================================
      Connection information list for oracle
      --------------------------------------------------------
      | id                   | state | usecount | state time(sec)
      --------------------------------------------------------
      oracle-15             idle    0          90.0
      oracle-5              active  0          94.0
      oracle-17             idle    0          6.0
      oracle-18             idle    0          5.0
      oracle-8              active  0          93.0
      oracle-13             idle    0          91.0
      oracle-4              active  0          95.0
      oracle-12             idle    0          91.0
      oracle-1              active  1          97.0
      oracle-9              active  0          92.0
      oracle-14             idle    0          90.0
      oracle-10             active  0          92.0
      oracle-11             idle    0          92.0
      oracle-2              active  1          96.0
      oracle-6              active  0          94.0
      oracle-16             idle    0          7.0
      oracle-3              active  1          96.0
      oracle-7              active  0          93.0
      oracle-19             idle    0          5.0
      ========================================================
      test_container1>coninfo oracle
      ========================================================
      Connection information list for oracle
      --------------------------------------------------------
      | id                   | state | usecount | state time(sec)
      --------------------------------------------------------
      oracle-15             idle    0          121.0
      oracle-5              active  0          125.0
      oracle-17             idle    0          37.0
      oracle-18             idle    0          36.0
      oracle-8              active  0          124.0
      oracle-13             idle    0          121.0
      oracle-4              active  0          126.0
      oracle-12             idle    0          122.0
      oracle-1              active  1          128.0
      oracle-9              active  0          123.0
      oracle-14             idle    0          121.0
      oracle-10             active  0          123.0
      oracle-11             idle    0          122.0
      oracle-2              active  1          127.0
      oracle-6              active  0          125.0
      oracle-16             idle    0          37.0
      oracle-3              active  1          126.0
      oracle-7              active  0          124.0
      oracle-19             idle    0          35.0
      ========================================================
      test_container1>
    • <<__!Exception__>>
      jeus.jdbc.connectionpool.JeusSQLException: Failed to create a new PooledConnection from [oracle]
              at jeus.jdbc.connectionpool.ConnectionPool.getPooledConnection(ConnectionPool.java:468)
              at jeus.jdbc.connectionpool.ConnectionStore.createDisposableConnection(ConnectionStore.java:349)
              at jeus.jdbc.connectionpool.ConnectionPool.prepareConnection(ConnectionPool.java:825)
              at jeus.jdbc.connectionpool.ConnectionPool.innerGetConnection(ConnectionPool.java:705)
              at jeus.jdbc.connectionpool.ConnectionPool.getConnection(ConnectionPool.java:642)
              at jeus.jdbc.datasource.DataSourceWrapper.getConnection(DataSourceWrapper.java:42)
              at jeus_jspwork._500_test_5fjsp._jspService(_500_test_5fjsp.java:64)
              at jeus.servlet.jsp.HttpJspBase.service(HttpJspBase.java:54)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
              at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java:101)
              at jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java:214)
              at jeus.servlet.jsp.JspServletWrapper.execute(JspServletWrapper.java:147)
              at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:183)
      Caused by: java.sql.SQLException: Listener refused the connection with the following error:
      ORA-12519, TNS:no appropriate service handler found
      The Connection descriptor used by the client was:
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(PORT=1521)(HOST=127.0.0.1))(CONNECT_DATA=(SID=orcl10)))

              at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
              at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
              at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
              at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
              at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
              at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
              at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
              at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297)
              at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:221)
              at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:157)
              at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:94)
              at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:75)
              at jeus.jdbc.connectionpool.ConnectionPool.getPooledConnection(ConnectionPool.java:444)
              ... 12 more

 

 

<JDBC type 특성>

  • type 1 : JDBC-ODBC Bridge

    • JDBC-ODBC Bridge는 JDBC가 ODBC Driver에 접근하는 통로를 제공한다.
    • 이것은 Sun에서 이미 구현을 해놓았다.
    • 주로 Window에서 ODBC에 등록해놓은 데이타베이스를 접근할 때 사용을 한다.
  • type 2 : Native - API partly - Java Driver

    • 벤데에서 제공하는 라이브러리를 이용해 DB를 엑서스한다는 의미
    • 그러므로 벤더에서 제공되는 2진 파일과 인터페이스 하기 위해 자바는 부분적으로 Java Native Method를 이용하게 된다.
    • 그래서 type 2 는 플렛폼에 의존적이다. 또한 servlet는 가능하나, applet는 불가능하다.
  • type 3 : JDBC - Net pure Java Driver

    • JDBC의 호출을 DBMS에 비종속적인 네트워크 프로토콜로 바꾼 후 다시 서버에 의해 원하는 DBMS의 프로토콜로 해석
    • 그래서 플렛폼과 프로토콜에 무관하게 DB와 연동하여 사용할 수 있다는 장점을 가지고 있다.
    • 그러나, 유로이며, 전문적인 드라이버 제공 회사가 있다.
  • type 4 : Native - protocol pure Java Driver

    • JDBC API는 DBMS가 사용하는 전용 프로토콜을 이용해 직접 인터페이스를 한다. 클라이언트에서 DBMS 서버로 직접 엑세스하게 되므로 인트라넷을 위한 작고 빠른 실용적인 대안이 된다.
    • 이것은 플렛폼에 무관하지 않고 독립적이다.
    • 앞에서 언급했듯이 DBMS의 프로토콜을 이용하여 접속을 한다.
    • 그래서 벤더의 JDBC 드라이버가 필요하다.(DBMS에 의존적):

 

<덤프 떠보기>

- 현재 실패한 상태.

 

출처 : http://negator.springnote.com/pages/1153896

반응형

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

JEUSMain.xml Datasource 암호 설정  (0) 2011.01.13
IBM JVM 튜닝 - 3  (0) 2009.08.24
JAVA HEAPDUMP 분석방법  (0) 2009.03.05
웹상에서 제우스 로그 확인하기  (0) 2009.03.05
제우스 연결 세션 병렬화  (0) 2009.03.05
반응형

<database>
                <vendor>oracle</vendor>
                <export-name>VIIMS</export-name>
                <data-source-class-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-class-name>
                <data-source-type>ConnectionPoolDataSource</data-source-type>
                <database-name>BILNS30</database-name>
                <data-source-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-name>
                <description>ICIS_NSBL_DB</description>
                <user>vimis</user>
                <password>votmdnjem</password>
                <property>
                   <name>URL</name>
                   <type>java.lang.String</type>
                   <value>jdbc:oracle:thin:@(DESCRIPTION=(ENABLE=BROKEN)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=200.182.154.51)(Port=1523))(ADDRESS=(PROTOCOL=TCP)(Host=200.182.154.52)(Port=1523))(FAILOVER = o
n)(LOAD_BALANCE =off))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME=VIMIS)))</value>
                </property>
                <driver-type>thin</driver-type>
                <connection-pool>
                   <pooling>
                        <min>30</min>
                        <max>40</max>
                        <step>5</step>
                        <period>3600000</period>
                   </pooling>
                   <wait-free-connection>
                      <enable-wait>true</enable-wait>
                      <wait-time>2000</wait-time>
                   </wait-free-connection>
                   <check-query>select 1 from dual</check-query>
                   <check-query-period>300000</check-query-period>
                </connection-pool>
        </database>
반응형

+ Recent posts