您的位置:首页 > 其它

WebSphereV6迁移EJB版本问题

2006-04-18 13:53 309 查看
现象:

在WSAD中运行移植后的应用运行时出现错误:
NMSV0610I: 从 javax.naming.Context 实现中抛出 NamingException。详细信息如下:
上下文实现:com.ibm.ws.naming.jndicos.CNContextImpl
上下文方法:lookupExt
上下文名称:localhost/nodes/localhost/servers/server1
目标名称:oracleDS
其它数据:
异常堆栈跟踪:com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. Root exception is java.lang.Exception: Invalid EJB component: Cannot use an EJB module with version 1.1, CMP version 1.x using The Relational Resource Adapter

原因

出现这个错误的原因主要EJB代码之前是使用EJB 1.1规范进行开发的,而部署到WAS5上面的时候,连接遵从J2C的数据源就会出现这样的错误。

解决办法

具体解决的方法有两种:
1)修改 enterprise bean 的应用程序中的映射以关联 1.x 容器管理的持久性(CMP)bean,从而将它们与 V4.0 数据源相关联
2)删除现有数据源并创建具有相同名称的 V4.0 数据源。

1)要修改 enterprise bean 的应用程序中的映射,在 WebSphere Application Server 管理控制台中,
选择问题应用程序的属性并使用映射资源引用到资源或者 映射所有 1.x CMP bean 的数据源以切换
enterprise bean 使用的数据源。保存此配置并重新启动应用程序。

2)要删除现有的数据源并创建带有相同名称的 V4.0 数据源:
a.在管理控制台中,单击资源>管理 JDBC 提供者>JDBC_provider_name>数据源。
b.删除与 Enterprise JavaBeans 1.1 模块关联的数据源。
c.单击资源>管理 JDBC 提供者>JDBC_provider_name>数据源(V4)。
d.创建 Enterprise JavaBeans 1.1 模块的数据源。
e.保存此配置并重新启动应用程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: