log4j.xml 파일을 수정 한다. 아래 속성을 제거 한다.

<param name="threshold" value="debug" /> 


'Server,Was' 카테고리의 다른 글

Apache Friends XAMPP 설치 하기  (0) 2013.01.30
jBoss7 Path 설정 하기  (0) 2013.01.30
jBoss7 Log4j 연동 하기  (0) 2013.01.29
jBoss7 Web Application Deploy 하기  (0) 2013.01.28
jBoss7 설치하기  (0) 2013.01.27


jBoss7은 설치 되어 있어야 하고, Web Application 기준으로 설명 한다. 

빌드 툴은 Maven을 이용 한다.


Step 1.  jboss-deployment-structure.xml 만들기

아래 그림은 일반적인 Web Application의 폴더 구조 이다. /WEB-INF/ 안에 해당 파일을 만들어 보자. 




<?xml version="1.0" encoding="UTF-8"?>

<jboss-deployment-structure>

  <deployment>

    <exclusions>

        <module name="org.apache.log4j" />

        <module name="org.apache.commons.logging" />

        <module name="org.slf4j"/>

    </exclusions>

  </deployment>

</jboss-deployment-structure>



위 파일을 적용 해야만, Tomcat과는 다르게 log4j을 사용 할 수 있다.


Step 2.  Log4j Library Dependency

pom.xml 파일에 추가 한다.


<!-- Version Config -->

<properties>

<slf4j.version>1.6.1</slf4j.version>

<log4j.version>1.2.14</log4j.version>

</properties>


<dependencies>

<!-- SLF4J -->

<dependency>

   <groupId>org.slf4j</groupId>

   <artifactId>jcl-over-slf4j</artifactId>

   <version>${slf4j.version}</version>

   <scope>runtime</scope>

</dependency>

<dependency>

   <groupId>org.slf4j</groupId>

   <artifactId>slf4j-api</artifactId>

   <version>${slf4j.version}</version>

   <scope>runtime</scope>

</dependency>

<dependency>

   <groupId>org.slf4j</groupId>

   <artifactId>slf4j-log4j12</artifactId>

   <version>${slf4j.version}</version>

   <scope>runtime</scope>

</dependency>

<!-- Log4j -->

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>${log4j.version}</version>

<exclusions>

<exclusion>

<groupId>javax.mail</groupId>

<artifactId>mail</artifactId>

</exclusion>

<exclusion>

<groupId>javax.jms</groupId>

<artifactId>jms</artifactId>

</exclusion>

<exclusion>

<groupId>com.sun.jdmk</groupId>

<artifactId>jmxtools</artifactId>

</exclusion>

<exclusion>

<groupId>com.sun.jmx</groupId>

<artifactId>jmxri</artifactId>

</exclusion>

</exclusions>

<scope>runtime</scope>

</dependency>

</dependencies>



Step 3.  web.xml 수정 하기

log4j.xml 파일의 경로를 설정 한다.


// ...


<context-param>

<param-name>log4jConfigLocation</param-name>

<param-value>classpath:log4j.xml</param-value>

</context-param>


// ...



Step 4. log4j.xml 만들기


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<!-- Console -->

<appender name="stdout" class="org.apache.log4j.ConsoleAppender">

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="%d %5p %c{1} - %m%n" />

</layout>

</appender>

<!-- File -->

<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">

<param name="DatePattern" value=".yyyyMMdd" />

<param name="File" value="log/whitelife.log" />

<param name="Append" value="true" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="%d %5p %c{1} - %m%n" />

</layout>

</appender>

<!-- root -->

<root>

<priority value="debug"/>

<appender-ref ref="stdout" />

<appender-ref ref="file" />

</root>

</log4j:configuration>



Step 5.  Source Code 적용하기


// package

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;


// field

private Logger logger = LoggerFactory.getLogger(getClass());


// use

logger.debug("test");






jBoss7로 Hello World !!!를 찍어보자. 

설치가 되어 있지 않거나, Admin 아이디가 없는 경우 jBoss7 설치하기 글을 참고 하자.

War 파일은 준비 되지 않는 분들을 위하여 첨부 한다.

whitelife-0.0.1-SNAPSHOT.war


Step 1. 설정 하기

D:\Develop\was\jboss\jboss-as-7.1.1.Final\standalone\configuration\standalone.xml 파일을 열자.

jBoss가 run이 되는 시점에서 default application이 올라가기 때문에 비활성화 해줘야 한다.


enable-welcome-root="true" -> enable-welcome-root="false" 로 수정한다.

true 상태로 올라가는 경우 path가 중복되면서 예외가 발생 하여 서비스가 시작 되지 않는다.



// ...


<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">

    <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>

    <virtual-server name="default-host" enable-welcome-root="false">

<alias name="localhost"/>

<alias name="example.com"/>

    </virtual-server>

</subsystem>


// ...



Step 2. 서버 시작 하기


D:\Develop\was\jboss\jboss-as-7.1.1.Final\bin>standalone.bat


// ...



Step 3. 관리자 페이지 접속 하기

Management Port 9990 으로 접속 한다. 아이디와 비밀번호를 입력 한다.


Step 4. War Deploy 하기

Manage Deployments 클릭


Add Content 클릭


War 파일을 추가 하자




deploy가 성공 하였다. 


00:46:43,232 INFO  [org.jboss.as.repository] (HttpManagementService-threads - 7) JBAS014900: Content added at location D:\Develop\was\jboss\jboss-as-7.1.1.Final\standalone\data\content\c3\1214888120a070dd3a5ffc7cd5a7c24a546b9c\content



Step 4. War Run 하기

Enable 클릭




정상적으로 서비스가 시작 되었다.


00:45:24,082 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "whitelife-0.0.1-SNAPSHOT.war"

00:45:24,130 INFO  [org.jboss.web] (MSC service thread 1-3) JBAS018210: Registering web context:

00:45:24,271 INFO  [org.jboss.as.server] (HttpManagementService-threads - 7) JBAS018559: Deployed "whitelife-0.0.1-SNAPSHOT.war"



Step 5. Hello World !!! 확인 하기

http://localhost:8080 접속 하기


Hello World !!! 를 확인 할수 있다.



jBoss7 설치에 대해 알아보자. Java는 설치되어 있다고 가정 한다.


Step 1. jBoss7 다운 받기

http://www.jboss.org/projects 접속 후 다운로드 한다. 버전은 7.1.1 Final을 사용 했다.



Step 2. JAVA 환경변수 확인 하기

Java 기반 이기 때문에 JAVA_HOME 변수 설정이 필요 하기 때문에, 없는 경우 작성 한다.

제어판 > 시스템 > 고급 시스템 설정 > 환경 변수 > 새로 만들기



Step 3. Admin 계정 만들기

D:\...\jboss\bin\add-user.bat 파일 실행, 아이디와 비밀번호를 생성 한다.


D:\Develop\was\jboss\jboss-as-7.1.1.Final\bin>add-user.bat


What type of user do you wish to add?

 a) Management User (mgmt-users.properties)

 b) Application User (application-users.properties)

(a): a


Enter the details of the new user to add.

Realm (ManagementRealm) :

Username : whitelife

Password :

Re-enter Password :

About to add user 'whitelife' for realm 'ManagementRealm'

Is this correct yes/no? yes

Added user 'whitelife' to file 'D:\Develop\was\jboss\jboss-as-7.1.1.Final\standa

lone\configuration\mgmt-users.properties'

Added user 'whitelife' to file 'D:\Develop\was\jboss\jboss-as-7.1.1.Final\domain

\configuration\mgmt-users.properties'

계속하려면 아무 키나 누르십시오 . . .


D:\Develop\was\jboss\jboss-as-7.1.1.Final\bin>



Step 4. 서버 시작 하기


D:\Develop\was\jboss\jboss-as-7.1.1.Final\bin>standalone.bat


// ...



Step 5. Start Page 확인 하기

Port는 D:\Develop\was\jboss\jboss-as-7.1.1.Final\standalone\configuration\standalone.xml 파일에서 확인 한다.


// ...


<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">

    <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>

    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>

    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>

    <socket-binding name="ajp" port="8009"/>

    <socket-binding name="http" port="8080"/>

    <socket-binding name="https" port="8443"/>

    <socket-binding name="osgi-http" interface="management" port="8090"/>

    <socket-binding name="remoting" port="4447"/>

    <socket-binding name="txn-recovery-environment" port="4712"/>

    <socket-binding name="txn-status-manager" port="4713"/>

    <outbound-socket-binding name="mail-smtp">

        <remote-destination host="localhost" port="25"/>

    </outbound-socket-binding>

</socket-binding-group>


// ...



Start Page


Step 6. Admin Page 확인하기

Management Port 9990 으로 접속 한다. 아이디와 비밀번호를 입력한다.


로그인 성공 !!!


정상적으로 동작 하는 것을 확인 할 수 있다.

'Server,Was' 카테고리의 다른 글

jBoss7 Log4j 연동 하기  (0) 2013.01.29
jBoss7 Web Application Deploy 하기  (0) 2013.01.28
Tomcat Dbcp AbandonedPool 관련  (0) 2012.12.23
Tomcat File Encoding 설정하기  (1) 2012.11.21
Tomcat Session ID 변경하기  (0) 2012.11.21

설정 설명


removeAbandoned: 설정 값이 true일 경우 제대로 회수 하지 않은 Connection을removeAbandonedTimeout 시간이 지날 경우 회수 한다.

default: false


removeAbandonedTimeout: 제대로 회수 하지 않은 Connection을 제거 하기 전 시간

default: 300 단위: 초


logAbandoned: 회수 되지 않은 Statment, Connection의 Application Code를 기록한다.


context.xml 일부 코드


// ...

 <Resource name="jdbc/whitelifeDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="whitelife" password="whitelife" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/whitelife" removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" />

// ...



catalina.out에 최초 Connection이 일어날 경우 출력 된다.


AbandonedObjectPool is used (org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool@3bfa681c)
  LogAbandoned: true
  RemoveAbandoned: true
  RemoveAbandonedTimeout: 5



dbcp connection이 정상적으로 끊어지지 않은 경우 출력 되는 Log


DBCP object created 0000-00-00 00:00:00 by the following code was never closed:
java.lang.Exception
 at org.apache.tomcat.dbcp.dbcp.AbandonedTrace.setStackTrace(AbandonedTrace.java:160)
 at org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:86)
 at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
 at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)



※ 참고 사이트: http://tomcat.apache.org

'Server,Was' 카테고리의 다른 글

jBoss7 Log4j 연동 하기  (0) 2013.01.29
jBoss7 Web Application Deploy 하기  (0) 2013.01.28
jBoss7 설치하기  (0) 2013.01.27
Tomcat File Encoding 설정하기  (1) 2012.11.21
Tomcat Session ID 변경하기  (0) 2012.11.21



Apache Tomcat의 catalina.sh, catalina.bat 파일을 수정 한다.




// ...


JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dfile.client.encoding=UTF-8 -Dclient.encoding.override=UTF-8"


// ...




JAVA_OPTS 환경 변수 수정 Encoding을 변경 한다.


'Server,Was' 카테고리의 다른 글

jBoss7 Log4j 연동 하기  (0) 2013.01.29
jBoss7 Web Application Deploy 하기  (0) 2013.01.28
jBoss7 설치하기  (0) 2013.01.27
Tomcat Dbcp AbandonedPool 관련  (0) 2012.12.23
Tomcat Session ID 변경하기  (0) 2012.11.21

 


Apache Tomcat의 catalina.sh, catalina.bat 파일을 수정 한다.




// ...


JAVA_OPTS="$JAVA_OPTS
        -Dorg.apache.catalina.SESSION_COOKIE_NAME=TESTJESSIONID
        -Dorg.apache.catalina.SESSION_PARAMETER_NAME=TESTJESSIONID"


// ...




JAVA_OPTS 환경 변수 수정 SESSIONID를 변경 한다.

'Server,Was' 카테고리의 다른 글

jBoss7 Log4j 연동 하기  (0) 2013.01.29
jBoss7 Web Application Deploy 하기  (0) 2013.01.28
jBoss7 설치하기  (0) 2013.01.27
Tomcat Dbcp AbandonedPool 관련  (0) 2012.12.23
Tomcat File Encoding 설정하기  (1) 2012.11.21

+ Recent posts