今天在工作中根据业务名称写了一套Ejb的类,可总是报Web与Ejb类Not Bound。
找了半天也没找到原因,后来根据经验猜测是Ejb对敏感类名的问题,试着修改类名后搞定了,
。
import java.rmi.RemoteException;
import java.util.List;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import com.zznode.inms.report.dao.NnProvinceCoreRouterDao;
import com.zznode.inms.report.service.INnProvinceCoreRouterService;
/**
* XDoclet-based session bean. The class must be declared
* public according to the EJB specification.
*
* To generate the EJB related files to this EJB:
* - Add Standard EJB module to XDoclet project properties
* - Customize XDoclet configuration for your appserver
* - Run XDoclet
*
* Below are the xdoclet-related tags needed for this EJB.
*
* @ejb.bean name="NnProvinceCoreRouter"
* display-name="Name for NnProvinceCoreRouter"
* description="Description for NnProvinceCoreRouter"
* jndi-name="ejb/NnProvinceCoreRouter"
* type="Stateless"
* view-type="both"
*/
public class NnProvinceCoreRouterBean implements SessionBean,INnProvinceCoreRouterService {
private SessionContext context;
private NnProvinceCoreRouterDao nnProvinceCoreRouterDao;
public NnProvinceCoreRouterBean() {
super();
nnProvinceCoreRouterDao = nnProvinceCoreRouterDao.getInstance();
}
public void ejbActivate() throws EJBException, RemoteException {
}
public void ejbPassivate() throws EJBException, RemoteException {
}
public void ejbRemove() throws EJBException, RemoteException {
}
public void setSessionContext(SessionContext newContext) throws EJBException,RemoteException {
context = newContext;
}
/**
* @ejb.interface-method view-type = "both"
* */
public List findNnProvinceCoreRouter(String year, String month) {
return nnProvinceCoreRouterDao.getNnProvinceCoreRouter(year, month);
}
}
我第一次的类名是:
NotProvinceCoreRouterBean.java
解决办法:
NotProvinceCoreRouterBean.java 改成
NnProvinceCoreRouterBean.java 即可。
【注】:在编写Ejb的Bean类是尽量不要写以Not开头的类名。
分享到:
相关推荐
EJB(Enterprise JavaBeans)...这个“ejb3.0写的登陆应用”涵盖了EJB 3.0的核心特性,展示了如何利用其优势构建一个简洁而有效的登录系统。通过深入理解和实践这些知识点,开发者能够更好地掌握Java企业级应用的开发。
理论上任何Java类都可能被视为一个Bean,但在实践中,JavaBean通常具备无参数构造函数,并实现了`Serializable`接口以支持持久化。JavaBean类似于COM模型中的本地进程内组件,不具备跨进程访问能力。 - **...
包括的类有: javax.ejb.AccessLocalException.class javax.ejb.CreateException.class javax.ejb.DuplicateKeyException.class javax.ejb.EJBContext.class javax.ejb.EJBException.class javax.ejb.EJBHome.class ...
EJB2的编程模型相对复杂,一个EJB通常需要两个接口(业务接口和远程接口)以及一个Bean实现类。开发者需要手动实现ejbCreate等生命周期方法,这在处理大量EJB时显得较为繁琐。而在EJB3中,这一情况得到了显著改善,...
Files contained in javax.ejb.jar: META-INF/MANIFEST.MF javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout.class javax.ejb.ActivationConfigProperty.class javax.ejb.AfterBegin.class javax....
<EJB-CLASS>元素用于描述EJB组件的实现类信息,例如EJB组件的类路径和类名称。 元素用于描述EJB组件的会话类型信息,例如Stateless、Stateful等。 ejb-jar文件的配置信息主要包括EJB组件的基本信息、图标信息、...
同时,EJB3还支持类的继承映射,使得复杂的对象结构能够有效地映射到数据库中。 **五、持久化实体管理器(EntityManager)** EntityManager是JPA的主要接口,用于操作实体对象,包括查询、保存、更新和删除。通过`@...
在EJB 3.0中,通过在Bean类上添加`@Stateless`和`@Clustered`注解,可以声明该Bean是无状态并且支持集群的。`@Clustered`注解是关键,它告诉JBOSS服务器要将此Bean部署为集群的一部分。 集群配置涉及到多个JBOSS...
开发者不再需要关注复杂的EJB接口和生命周期管理,而是通过注解和简单的配置文件即可完成实体类到数据库表的映射。 #### 三、部署描述符的变化 - **EJB 2.0**:要求显式定义部署描述符(Deployment Descriptors),...
- **部署单元**:这里提到的`FirstEJB.jar`是EJB部署的一个单元,包含了EJB类和其他必要的配置文件。 - **RMI-JNDI服务**:这表示客户端和服务器端之间的通信是通过RMI-JNDI服务来进行的。客户端通过查询JNDI来获取...
4. **编写bean类**:创建EJB组件,定义接口和实现类,并使用注解如`@Remote`、`@Local`、`@Stateless`、`@Stateful`或`@MessageDriven`。 5. **部署和测试**:将项目打包为`.ear`文件,部署到服务器,然后进行单元...
EJB(Enterprise JavaBeans)是Java企业级应用开发的核心组件模型,主要用于构建可复用的、分布式的、事务处理的企业级应用程序。EJB3.0规范是Java EE 5中的一个重要组成部分,它对之前的EJB版本进行了重大改进,极...
META-INF / maven / org.glassfish.main.ejb / javax.ejb / pom.properties META-INF / maven / org.glassfish.main.ejb / javax.ejb / pom.xml javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout....
3. **类(Class)与实例(Instance)**:构建EJB应用涉及三方代码:开发者编写的代码、EJB API定义的类和接口以及容器自动生成的代码。开发者编写的代码主要包括Bean类(定义业务逻辑)、Home接口和Remote接口等。 4. *...
- EJB部署涉及编写EJB类、接口、部署描述符(ejb-jar.xml和weblogic-ejb-jar.xml),并将它们打包成ejb-jar文件。 - 使用WebLogic的WLST(WebLogic Scripting Tool)或Admin Console进行部署,配置服务器、集群、...
Javabean技术则是EJB的一个基础,javabean是一种符合特定规范的Java类,它具有属性、getter和setter方法,以及一个默认构造器。Javabeans通常用于构建EJB组件的表示层,或者作为客户端与EJB之间的数据载体。 在...
- 需要修改的配置信息写在`ejb-jar.xml`中。 - 如果`ejb-jar.xml`存在,则该文件的优先级高于注解。 #### 四、Java EE企业级应用架构 Java EE(Java Platform, Enterprise Edition)是由Sun公司推出的规范,用于...