'movieclip extends'에 해당되는 글 2건

  1. 2010/07/12 visualp tomcat, mod-jk 설정
  2. 2010/03/18 visualp actionscript 3.0 movie clip extend, global 하게 movieclip 메소드를 사용 하자.

tomcat, mod-jk 설정

Linux RSS Icon ATOM Icon 2010/07/12 18:27 visualp

[원문] - http://cafe.naver.com/webdori.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1028

* 개요
이 문서는 80포트만이 열린 네트워크 환경에서 아파치(80포트)와 톰캣(8080포트)을 동시에 서비스 하기 위한


방법을 설명하고 있습니다.


* 시스템사항
Operating System: Centos5
Webserver: Apache 2.2.2
JDK: JDK 6.0
Servlet Container: Tomcat 6.0.18
Tomcat Connector: Jakarta Tomcat Connector mod_jk (not mod_jk2)

* 기본폴더
apache2 : /usr/local/apache
tomcat_home : /usr/local/tomcat
java_home : /usr/local/java
mod_jk : /usr/lib/apache/modules/mod_jk.so

* 설정 순서

1. mod_jk 설치
2. workers.properties 파일 만들기
3. 톰캣의 server.xml 수정
4. httpd.conf 수정
5. 가상호스팅
6. classpath 설정

* 설정설명
1. mod_jk 설치 및 tomcat_native 설치

1.1 mod_jk 설치

http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.28/tomcat-connectors-1.2.28-src.tar.gz  을 다운 받아

압축을 푼다.

# cd tomcat-connectors-1.2.28-src
# ./configure --with-apxs=/usr/local/apache/bin/apxs
# make
# make install

1.2 tomcat_native 설치

fedora에서 apr관련 라이브러리 설치(apr-devel)

yum install apr*

tomcat-native.tar.gz 파일을 tomcat 디렉토리에서 찾아 압축을 푼다.

./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/local/java --with-ssl=yes --prefix=/usr/local/tomcat
make
make install

2. workeers.properties 파일 만들기

# vi /usr/local/apache/conf/workers.properties

#아래의 두 설정의 경로는 자신에 맞게 수정합니다.
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java

ps=/

#아래 반복되는 worker1 대신 다른 이름도 상관없습니다.
worker.list=worker1

worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1

worker.inprocess.type=jni

3. 톰캣의 server.xml 수정
톰캣/conf/server.xml 에 아래의 코드를 추가합니다.

# vi /usr/local/tomcat/conf/server.xml


Server 태그 바로 아래쪽에 Listener 태그가 적힌곳에 추가하면 됩니다.
modjk와 workersConfig의 경로에 주의해서 자신에 맞게 수정합니다.

<Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/local/apache/modules/mod_jk.so" workersConfig="/usr/local/apache/conf/workers.properties" />

톰캣을 재시작 합니다.

# /etc/init.d/tomcat restart


에러없이 재시작 되면 아래와 같은 파일이 생성됩니다.
/usr/local/tomcat/conf/auto/mod_jk.conf

4. httpd.conf 수정
/usr/local/apache/httpd.conf 설정 파일에 아래의 코드를 추가합니다. 항상 경로에 신중하세요.


# vi /usr/local/apache/httpd.conf

# Load mod_jk module
# Update this path to match your modules location
#LoadModule jk_module /usr/local/apache/modules/mod_jk.so

# Where to find workers.properties
# update this path to match your conf directory location
JkWorkersFile /usr/local/apache/conf/workers.properties

# Where to put jkshared Memory
JkShmFile /usr/local/apache/logs/mod_jk.shm

# where to put jk logs
JkLogFile /usr/local/apache/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"

파일을 저장하고 아파치를 재시작 합니다.
브라우저에서 http://127.0.0.1로 접속했을때 톰캣 페이지가 보이면 연동된 것입니다.

5. 가상호스팅
아파치, 톰캣 각각의 가상호스팅 설정에 대해서 자세히 다루지는 않겠습니다.
아파치, 톰캣 두개의 가상호스팅 설정이 일치해야 연동에 문제가 없습니다.

아파치의 가상호스팅

<VirtualHost *:80>
   DocumentRoot /home/test/public_html
   ServerName test.co.kr
   ServerAlias www.test.co.kr
   JkMount  /*.jsp worker1
   JkMount  /*.do worker1

   JkMount  /servlet/* worker1
</VirtualHost>

톰캣의 가상호스팅(server.xml)

# vi /usr/local/tomcat/conf/server.xml

아래 구문을 추가한다.

<Host name="www.test.co.kr" appBase="/home/test/public_html"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
</Host>

# cd /usr/local/tomcat/conf/Catalina

# mkdir www.test.co.kr

# cd www.test.co.kr

가상호스트 설정파일을 만든다.
# vi ROOT.xml

아래 내용을 ROOT.xml에 작성한다.
<?xml version='1.0' encoding='utf-8'?>
<Context path="/" docBase="" crossContext="false" reloadable="true" debug="0" />

tomcat 재시작
apache 재시작

6. classpath 설정

가상호스트의 WEB-INF를 인식하지 못하는 경우 /usr/local/tomcat/bin/setclasspath.sh 파일을 아래와 같이 수정

CLASSPATH= 구문 대신 아래 코드를 추가 입력한다.

CLASSPATH="$CLASSPATH:$CATALINA_HOME/lib/el-api.jar:$CATALINA_HOME/lib/servlet-api.jar:$CATALINA_HOME/lib/jsp-api.jar"

home_root='/home'
cd $home_root

for home_name in $(ls)
    do
        if [ -d "$home_root/$home_name/public_html/WEB-INF/classes" ] ; then
           CLASSPATH="$CLASSPATH:$home_root/$home_name/public_html/WEB-INF/classes"
        fi
        if [ -d "$home_root/$home_name/public_html/WEB-INF/lib" ] ; then
           CLASSPATH="$CLASSPATH:$home_root/$home_name/public_html/WEB-INF/lib"
        fi
done

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH

class.jsp 파일을 다음과 같이 작성하여 classpath 확인

<%@page contentType="text/html; charset=euc-kr"%>
<%=System.getProperty("java.class.path")%>

2010/07/12 18:27 2010/07/12 18:27
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/293

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/293

[원문] - http://www.kirupa.com/forum/showpost.php?p=2108585&postcount=328


play , stop 을 컨트롤 하기 위해서는  별도의 클레스를 만들어서 대리자 역할을 하는 play와 ,stop() 메소드르 ㄹ활용하여 컨트롤 바와 동기화 할 수 있다.
그러나 얼마나 귀찮은 일인가...
action script 3.0에서는 movie를 exteds 하여 재정의 하여 사용 하면 해결 할 수 있다.

컨텐츠 파일에 아래와 같은 클래스를 등록 하고
Document class로 등록 하면,, swf가 실행 될 때 즉 movie를 기준으로 생성이 된다.
그러면 컨트롤 바에서무비가 stop()되는 것을 컨트롤 할 수 있다.

if (myMovie.isPlaying) {
myMovie.stop();
}
식으로...
체그 하면 될듯 ..




 
package {

import flash.display.MovieClip;

/**
* MovieClip class that adds an isPlaying property
* to indicate whether or not the movie clip is
* currently playing.  Have your classes extend this
* class instead of MovieClip or set this class as the
* Base class of your movie clip(s) in the library to
* have those instances gain the isPlaying property.
*/
public class MovieClipWithIsPlaying extends MovieClip {

/**
* Private property to internally keep track of whether or
* not the current movie clip is being played
*/
private var _isPlaying:Boolean = true;

/**
* Getter function creating a public, read-only isPlaying
* property allowing users to get but not set the _isPlaying
*  property to determine if the movie clip is playing
*/
public function get isPlaying():Boolean {
return _isPlaying;
}

/**
* Constructor
*/
public function MovieClipWithIsPlaying(){
super();
}

// override all timeline commands for movie clip that would
// affect the isPlaying property of the movie clip:

public override function gotoAndPlay(frame:Object, scene:String = null):void {
_isPlaying = true;
super.gotoAndPlay(frame, scene);
}

public override function gotoAndStop(frame:Object, scene:String = null):void {
_isPlaying = false;
super.gotoAndStop(frame, scene);
}

public override function nextFrame():void {
_isPlaying = false;
super.nextFrame();
}

public override function nextScene():void {
_isPlaying = true;
super.nextScene();
}

public override function play():void {
_isPlaying = true;
super.play();
}

public override function prevFrame():void {
_isPlaying = false;
super.prevFrame();
}

public override function prevScene():void {
_isPlaying = true;
super.prevScene();
}

public override function stop():void {
_isPlaying = false;
super.stop();
}
}
}

2010/03/18 22:42 2010/03/18 22:42
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/226

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/226