@Stateful
@Remote({UserService.class})
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class UserSessionBean implements UserService {
客户端代码:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost"); //host
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700"); //EJB Port
try {
InitialContext ctx = new InitialContext(props);
UserService userService = (UserService) ctx.lookup("com.byht.evt.user.service.UserService");
System.out.println(userService.say());
System.out.println(userService.login(null));
} catch (NamingException e) {
System.out.println("error:" + e.getMessage());
}
}
分享到:
相关推荐
通过这个EJBDemo,开发者可以深入理解EJB和Glassfish服务器的工作原理,掌握EJB的开发和部署过程,同时了解客户端如何与EJB通信,这对于理解Java EE架构和企业级应用开发至关重要。 总结,基于Glassfish的EJBDemo...
4. **添加业务方法**:向会话bean中添加实际的业务逻辑处理方法,这些方法会被客户端调用来执行特定的操作。 5. **部署企业应用程序**:将包含会话bean的整个企业应用程序部署到Glassfish服务器上。部署后,EJB就...
1. **客户端调用**: 客户端通过JNDI(Java Naming and Directory Interface)查找目标EJB的JNDI名称,获取到Bean的Home接口实例。 2. **创建Session Bean**: 如果是Session Bean,客户端通过Home接口的`create()`...
而异步调用则允许客户端在调用EJB方法后立即返回,无需等待结果,适用于耗时的操作。 此外,EJB还提供了安全性机制,如角色基础的访问控制(RBAC),允许管理员定义不同用户角色并限制其对EJB的访问权限。客户端...
EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于...通过接口定义、EJB实现、JNDI查找和客户端调用,我们可以构建起可靠的分布式系统。此示例提供了一个简单但实用的起点,帮助开发者理解并实践这一技术。
- **远程方法调用(Remote Method Invocation, RMI)**:客户端通过RMI调用EJB的接口,EJB容器负责透明地处理网络通信和对象序列化。 - **本地接口调用(Local Interface)**:当客户端和EJB在同一个JVM中运行时,...
在"一个简单的EJB"项目中,我们可以看到一个基础的EJB实现,通常这样的例子会展示如何创建一个简单的EJB组件,以及如何在客户端调用这个组件的方法,比如显示一个"Hello, World!"信息。这对于初学者来说,是一个很好...
客户端通过JNDI(Java Naming and Directory Interface)查找并调用EJB。而`EJB_Romte.zip`可能包含了远程接口和实现,这是EJB允许远程访问的关键。EJB组件通常被打包成JAR文件,并在应用服务器(如JBOSS、WebLogic...
- 一旦有了EJB的远程引用,客户端就可以像调用本地方法一样调用EJB的方法,实际上,这一切都在后台由容器处理,包括序列化参数,通过网络发送,反序列化并执行方法,最后将结果返回给客户端。 4. **案例分析**: ...
学习EJB技术,不仅需要理解上述概念,还需要实践编写和部署bean,熟悉服务器(如WebLogic、GlassFish等)的配置,以及如何在客户端应用中调用EJB服务。通过深入研究提供的代码样例,你可以更好地掌握EJB在实际项目中...
- **远程接口**(Remote Interface):允许远程客户端调用EJB的方法。 - **本地接口**(Local Interface):只适用于同一JVM内的调用,无需网络开销。 - **业务接口**(Business Interface):定义EJB的业务逻辑...
5. **调用EJB方法**:一旦获取了EJB引用,就可以像调用本地方法一样调用EJB的方法。例如,FirstEJB可能会通过其远程接口调用SecondEJB的一个方法。 6. **事务管理**:Java EE服务器自动处理EJB之间的事务,确保数据...
7. **创建JNDI名称**:在ejb-jar.xml或web.xml中,为EJB指定Java Naming and Directory Interface (JNDI) 名称,这样其他应用程序组件可以通过这个名字查找并调用EJB。 8. **测试EJB**:在Eclipse中,可以使用JUnit...
3. **定义接口**:为了客户端调用EJB,我们需要定义一个接口,如`HelloWorldLocal`,它声明了业务方法。 ```java import javax.ejb.Local; @Local public interface HelloWorldLocal { String sayHello(); } ``` ...
首先,你需要将`HelloWorldEJB`部署到服务器,然后配置`HelloWorldEJBClient`以连接到服务器并调用EJB服务。这通常涉及设置正确的服务器连接信息,如JNDI名称。 总之,这个ejb例子程序展示了如何结合使用EJB和JPA来...
3. **服务端接口定义**:定义本地或远程接口,以供客户端调用。本地接口适用于在同一应用内的通信,而远程接口允许跨应用调用。 ```java public interface MyBusinessInterface { void doSomething(); } ``` 4. *...
- **激活(Activation)**:对于有状态会话Bean,容器会根据需要激活Bean,使其可供客户端调用。 - **被动使用(Passivation)**:如果容器资源紧张,可能会将Bean暂时保存,待需要时再激活。 - **销毁( ...
在描述中提到,Servlet可能被用作显示层,负责接收HTTP请求,调用EJB来执行业务逻辑,然后返回响应给客户端。 在`pom.xml`文件中,可以看到项目依赖管理的部分,它列出了所有必要的库,包括Glassfish V4、JPA实现...
5. **GWT客户端调用**:在GWT客户端,创建RPC服务接口和实现,使用GWT的远程服务机制(GWT-RPC)来调用EJB服务。 6. **编译和部署**:使用GWT的编译器将Java代码转换为优化过的JavaScript,然后部署到服务器。 **...
- 编写接口:对于会话Bean,可能需要本地(Local)和远程(Remote)接口,供客户端调用。 - 打包部署:将Bean类、接口、配置文件打包成ejb-jar,并放入应用服务器的部署目录。 3. **EJB生命周期**: - 实例化:...