EJB概述
EJB是一个封装有某个应用程序之业务逻辑服务器端组件。提供了一个架构,充分考虑健壮性,高可扩展性和高性能的基于组件的企业应用程序开发和部署.
EJB主要有三种类型:
Session Bean : 会话bean将特定用户的数据存储为一个单一的会话。它可以是状态或无状态。它占用更少资源,相比于实体Bean。只要终止用户会话,会话bean被销毁。
Entity Bean : 实体bean代表持久性数据存储。可将用户数据保存到数据库中,通过实体bean,后来就可以检索从数据库中的实体bean。
Message Driven Bean : 使用消息驱动bean上下文中的JMS(Java消息服务)。消息驱动Bean可以从外部实体消耗JMS消息,并采取相应的动作。
sessionBean
@Stateless
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld {
public HelloWorldBean() {
// TODO Auto-generated constructor stub
}
@Override
public String sayHello(String s) {
return "hello" + s;
}
}
客户端
public class HelloWorldClientTest {
public static void main(String[] args) {
Hashtable env=new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://localhost:7001");
try
{
Context ctx = new InitialContext(env);
HelloWorld hello = (HelloWorldBean)ctx.lookup("java:global.ejb_demo.HelloWorldBean");
System.out.println(hello.getClass());
System.out.println(hello.sayHello("landing"));
}
catch (Exception e)
{
e.printStackTrace();
}
}
根据JNDI数中对应会话bean的绑定名获取具体对象