본문 바로가기

카테고리 없음

Eclipse with Ant deploy example

Eclipse 에서 SampleEJB와 SampleAppClient 프로젝트를 각각 생성한 후에 ANT 를 이용하여 패키징 및 배포하는 예제이다. Ant 를 이용하여 처리할 부분: JAR 패키징 및 JBoss 에 deploy (컴파일을 Eclipse에서 한 후 클래스 파일을 JAR 로 압축하는 부분과 생성된 JAR 파일을 JBoss에 deploy 하는 부분만 Ant를 이용하여 처리하는 예이다)

SampleEJB 프로젝트 구성파일

Sample.java

import javax.ejb.Remote;

@Remote
public interface Sample {
 public String getMsg();
}

SampleBean.java

import javax.ejb.Stateless;

@Stateless
public class SampleBean implements Sample {

 @Override
 public String getMsg() {
  return "Sample EJB";
 }
}


SampleAppClient 프로젝트 구성파일

Main.java

import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;


public class Main {
 public static void main(String[] args) throws Exception{
  Context ctx = getJNDIContext();
  Sample bean = (Sample)ctx.lookup("SampleBean/remote");
  String str = bean.getMsg();
  System.out.println(str);
 }
 public static Context getJNDIContext() {
    try {
     Properties props = new Properties();
     props.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
     props.put(InitialContext.PROVIDER_URL, "jnp://localhost:1099");
     props.put(InitialContext.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
     return new InitialContext(props);
    } catch (NamingException e) {
     e.printStackTrace();
    }
    return null;
   }
}

Sample.java

import javax.ejb.Remote;

@Remote
public interface Sample {
 public String getMsg();
}

SampleEJB 프로젝트의 루트에 다음과 같은 Ant 실행 스크립트를 작성하고 build.xml 으로 저장한다.

build.xml

<project name="SampleEJB" basedir="." default="deploy">
 <property name="deploy.dir" value="D:/jboss-4.2.2.GA/server/default/deploy"/>

 <target name="deploy">
  <mkdir dir="build/jar"/>
  <jar destfile="build/jar/${ant.project.name}.jar" basedir="build/classes"/>
  <copy todir="${deploy.dir}">
   <fileset dir="build/jar" includes="*.jar"/>
  </copy>
 </target>
 
</project>


사용자 삽입 이미지


다음과 같이 build.xml을 실행한다.

사용자 삽입 이미지

디플로이 결과 콘솔에 다음과 같은 성공 메시지가 출력된다.

13:55:32,000 INFO  [EJBContainer] STOPPED EJB: SampleBean ejbName: SampleBean
13:55:32,000 WARN  [JmxKernelAbstraction] jboss.j2ee:jar=SampleEJB.jar,name=SampleBean,service=EJB3 is not registered
13:55:32,281 INFO  [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
13:55:32,296 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=SampleEJB.jar,name=SampleBean,service=EJB3 with dependencies:
13:55:32,312 INFO  [EJBContainer] STARTED EJB: SampleBean ejbName: SampleBean
13:55:32,343 INFO  [EJB3Deployer] Deployed: file:/D:/jboss-4.2.2.GA/server/default/deploy/SampleEJB.jar

SampleAppClient.java 를 실행하여 그 결과를 확인한다.

사용자 삽입 이미지


사용자 삽입 이미지