[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 12126] JDK5 + JBoss4.0.3SP1 + JBoss-EJB3(RC3) で EJB3 の手順
高橋(智)です。
本日、JavaOneにて高橋徹さんと「JBoss4 で EJB3 を試すには?」などと話していて、
既にあるサンプルをデプロイするだけはヤル気が起きない、ということになりまして、
JBossを使って、事前準備からコンパイル、デプロイ、実行を行う最少限度の手順を書く
ことにしました。
以下に手順を掲載しますが、
・OSは Microsoft Windows
・cpやrm等のコマンドを使用している
・JDK5.0(Tiger) をインストール済み
・JBoss4.0.3(SP1)のアーカイブ jboss-4.0.3SP1.zip をダウンロード済み
・JBossEJB3のアーカイブ jboss-EJB-3.0_RC3.zip をダウンロード済み
が前提となっております。
どうぞ、お試しください。> みなさま
=============================================================================================================
C:\>set JAVA_HOME=C:\j2sdk1.5
C:\>set PATH=%JAVA_HOME%\bin;%PATH%
C:\>unzip jboss-4.0.3SP1.zip
inflating...
C:\>set JBOSS_DIR=C:\jboss-4.0.3SP1
C:\>unzip jboss-EJB-3.0_RC3.zip
inflating...
C:\>cd jboss-EJB-3.0_RC3\lib
C:\jboss-EJB-3.0_RC3\lib>cp -r ejb3.deployer %JBOSS_DIR%\server\all\deploy
C:\jboss-EJB-3.0_RC3\lib>cp ejb3-clustered-sfsbcache-service.xml %JBOSS_DIR%\server\all\deploy
C:\jboss-EJB-3.0_RC3\lib>cp ejb3-entity-cache-service.xml %JBOSS_DIR%\server\all\deploy
C:\jboss-EJB-3.0_RC3\lib>cp ejb3-interceptors-aop.xml %JBOSS_DIR%\server\all\deploy
C:\jboss-EJB-3.0_RC3\lib>cp -r jboss-aop-jdk50.deployer %JBOSS_DIR%\server\all\deploy
C:\jboss-EJB-3.0_RC3\lib>cp jboss-xb.jar %JBOSS_DIR%\server\all\lib
C:\jboss-EJB-3.0_RC3\lib>rm -rf %JBOSS_DIR%\server\all\deploy\jboss-aop.deployer
C:\jboss-EJB-3.0_RC3\lib>cd %JBOSS_DIR%\bin
C:\jboss-4.0.3SP1\bin>start run.bat -c all
...
...
INFO [Server] JBoss (MX MicroKernel) [4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1
date=200510231054)] Started in 1m:8s:208ms
C:\jboss-4.0.3SP1\bin>mkdir test
testにEchoRemote.javaを作成
-----------------------------------
package test;
import javax.ejb.Remote;
@Remote
public interface EchoRemote
{
public String echo(String msg);
}
-----------------------------------
testにEchoBean.javaを作成
---------------------------------------------------
package test;
import javax.ejb.Stateless;
@Stateless
public class EchoBean implements EchoRemote
{
public String echo(String msg) { return msg; }
}
---------------------------------------------------
C:\jboss-4.0.3SP1\bin>set CLASSPATH=.;%JBOSS_DIR%\server\all\deploy\ejb3.deployer\jboss-ejb3x.jar
C:\jboss-4.0.3SP1\bin>javac test\EchoRemote.java
C:\jboss-4.0.3SP1\bin>javac test\EchoBean.java
C:\jboss-4.0.3SP1\bin>jar cvf Echo.jar.ejb3 test\EchoRemote.class test\EchoBean.class
マニフェストが追加されました。
test/EchoRemote.class を追加中です。(入 = 223) (出 = 169)(24% 収縮されました)
test/EchoBean.class を追加中です。(入 = 370) (出 = 261)(29% 収縮されました)
C:\jboss-4.0.3SP1\bin>mv Echo.jar.ejb3 %JBOSS_DIR%\server\all\deploy
testにClient.javaを作成
-------------------------------------------------------------------------------------------
package test;
import java.util.Hashtable;
import javax.naming.*;
public class Client {
public static void main(String[] args) throws Exception {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
InitialContext ctx = new InitialContext(env);
EchoRemote ejb = (EchoRemote)ctx.lookup("test.EchoRemote");
System.out.println(ejb.echo("Hello EJB World!"));
}
}
-------------------------------------------------------------------------------------------
C:\jboss-4.0.3SP1\bin>javac test\Client.java
C:\jboss-4.0.3SP1\bin>set CLASSPATH=.;%JBOSS_DIR%\client\jbossall-client.jar
C:\jboss-4.0.3SP1\bin>set CLASSPATH=%CLASSPATH%;%JBOSS_DIR%\server\all\deploy\ejb3.deployer\jboss-ejb3.jar
C:\jboss-4.0.3SP1\bin>set CLASSPATH=%CLASSPATH%;%JBOSS_DIR%\server\all\deploy\ejb3.deployer\jboss-ejb3x.jar
C:\jboss-4.0.3SP1\bin>set CLASSPATH=%CLASSPATH%;%JBOSS_DIR%\server\all\deploy\jboss-aop-jdk50.deployer\jboss-aspect-library-jdk50.jar
C:\jboss-4.0.3SP1\bin>java test.Client
Hello EJB World!
=============================================================================================================
--
高橋智宏
Java読書会( http://www.javareading.com/bof/ )