最初のEJB 3.0プログラム
2625 ワード
ステップの作成
1.ビジネスインタフェースコード、Beanクラスを作成します.
2.コンパイル手順1で開発したコード.
3.配置記述子を指定します.
4.2、3、工程の生成物を梱包する.
5.導入およびテスト.
1.2.2例
ビジネス・インタフェース・コードは次のとおりです.
どうですか.簡単ではありませんか.
私たちのBeanクラスはPOJOで、
上で定義したビジネスインタフェースのみを実現します.
HelloWorldBean.JAvaでは、EJBの注釈をいくつか使用しています.
@Stateless:この注記Beanクラスをステータスレスセッションとして宣言するBean@Remote:EJBコンポーネントのリモートクライアントビューを提供する@RemoteBilling:コンテナ環境でJNDI名を定義する
1.2.3配置とテスト
上記のコードをhelloworldとする.jar、%jboss_に配置home%serverdefaultdeployディレクトリの下にあります.
jbossを起動し、起動が完了すると、テストできます.テストコードは以下の通りです.
1.ビジネスインタフェースコード、Beanクラスを作成します.
2.コンパイル手順1で開発したコード.
3.配置記述子を指定します.
4.2、3、工程の生成物を梱包する.
5.導入およびテスト.
1.2.2例
ビジネス・インタフェース・コードは次のとおりです.
package com.lemon.session.stateless;
/**
* HelloWorld
* @author Tess
*
*/
public interface HelloWorld {
public String sayHello(String name);
}
どうですか.簡単ではありませんか.
私たちのBeanクラスはPOJOで、
上で定義したビジネスインタフェースのみを実現します.
package com.lemon.session.stateless;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import org.jboss.annotation.ejb.RemoteBinding;
/**
* bean, : +Bean
* @author Tess
*
*/
@Stateless
//
@Remote(HelloWorld.class)
@RemoteBinding(jndiBinding="HelloWorldBean/Remote")
public class HelloWorldBean implements HelloWorld {
@Override
public String sayHello(String name) {
System.out.println("called sayHello()method!");
return name+" said:this is my first EJB program";
}
}
HelloWorldBean.JAvaでは、EJBの注釈をいくつか使用しています.
@Stateless:この注記Beanクラスをステータスレスセッションとして宣言するBean@Remote:EJBコンポーネントのリモートクライアントビューを提供する@RemoteBilling:コンテナ環境でJNDI名を定義する
1.2.3配置とテスト
上記のコードをhelloworldとする.jar、%jboss_に配置home%serverdefaultdeployディレクトリの下にあります.
jbossを起動し、起動が完了すると、テストできます.テストコードは以下の通りです.
package com.lemon.test;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.junit.Before;
import org.junit.Test;
import com.lemon.session.stateless.HelloWorld;
import com.lemon.session.stateless.HelloWorldBean;
public class TestMain {
private Properties props = new Properties();
@Before
public void init(){
// JNDI
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
// URL
props.setProperty("java.naming.provider.url", "localhost:1099");
}
@Test
public void test(){
Context ctx;
try {
ctx = new InitialContext(props);
HelloWorld helloBean=(HelloWorld) ctx.lookup("HelloWorldBean/Remote");
System.out.println(helloBean.sayHello("yanan"));
} catch (Exception e) {
e.printStackTrace();
}
}
}