jbuilder7 + weblogic7 开发EntityBean 的 Deploy 的问题。。。

sery 2003-10-24 10:37:00
唯一和例子不同的是,我用的是 Mysql 的数据库

表为test

字段 id 自增,唯一,integer(4)
字段 username varchar(10)

有2条数据。

开发,和weblogic 的配置一切正常,connect pool 配置顺利,可以monitor 到,datasource 配置正常,server 成功apply

可是在EntityBean 开始 Deploy 的时候,报如下的错:

Unable to deploy EJB: Test from Demo2.jar:

weblogic.ejb20.WLDeploymentException: Incorrect DataSource type detected. The DataSource with JNDI name 'DataSource', specified in the RDBMS deployment descriptor for the EJB 'Test', is not a TXDataSource. The EJB Container requires a TXDataSource to be specified for transactions to be managed correctly.

at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.verifyTXDataSource(RDBMSPersistenceManager.java:977)

at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.setup(RDBMSPersistenceManager.java:134)

at weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.java:214)

at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:186)

at weblogic.ejb20.manager.DBManager.setup(DBManager.java:161)

at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:936)

at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1302)

at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:342)

at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:1509)

at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:970)

at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:957)

at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:1074)

at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:700)

at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:24)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)


新人,不知道这个 TXDataSource 是什么意思,例子里没有配置这个数据源的说明,请问是什么问题??!!
...全文
40 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sery 2003-10-26
  • 打赏
  • 举报
回复
再另:weblogic 错误提示还包括,说我的pool 也失效了。关闭jbuilder 以后。再重新单独启动weblogic ,确实也是pool 失效。可是一开始,pool 配置的确是成功了,而且可以monitor 到。。。
sery 2003-10-26
  • 打赏
  • 举报
回复
另,我weblogic 和 jbuilder 中的JNDI 的名字是保持一致的,这个细节我注意到了
sery 2003-10-26
  • 打赏
  • 举报
回复
抱歉,继续向各位达人求教

我配置weblogic 的connect pool,datasource ,Txdatasource 成功,server 均apply 成功。

可是我按照以上 lwg2019() 的操作完成以后。一启动jbuilder 的 server,就提示我的mysql 的驱动 org.gjt.mm.mysql.Driver 找不到。

可是明明在weblogic 的操作中,是没有问题的。
shangqiao 2003-10-26
  • 打赏
  • 举报
回复
你在JB中修改数据源的jndi没,我记得JB在从数据库中导入数据时默认为DataSource,所以不知道你。。。
lwg2019 2003-10-26
  • 打赏
  • 举报
回复
sery(莫桑比克的乌木) (你的问题我给你解决一下,因为我也遇到过:
首先是DataSource 和 TXDataSource 两中类型的区别: TXDataSource是支持分布式事务类型的,而DataSource不支持分布式事务。
如果你是用的Webogic7+Jbuilder7,那末在开发
BMP的时候,你的数据源即可以是DataSource 也可以是TXDataSource。
但是如果你开发的是CMP,那么,你就必须用TXDataSource。
我给你一个配置的一个例子:
你先配置你的Pool;
在配置完Pool后,在配置TXDataSource数据元:
Name:myTxDataSource
JNDI Name: myTxDataSource;
Pool name:你的pool的名字;
就可以了!
在jbliuder中,开发EntityBean时,在创建Bean model的时候你要配置数据元。那末这个数据元的名字就是你的TXDataSource数据元名,即myTxDataSource,
这样的画,在你的Bean的配置描述符中就会把相应的Bean与所建的数据元联系起来。
LuZhou 2003-10-26
  • 打赏
  • 举报
回复
TXDataSource 比较适合用在分布式应用中,可以较方便的实现事务处理。
sery 2003-10-26
  • 打赏
  • 举报
回复
可是在 weblogic7+ jbuilder7 的示范教程里,为什么entitybean 举例用的是DataSource 的数据源,而且deploy 成功。

能不能详细解释一些 DataSource 和 TXDataSource 两中类型的区别。

另:majorinjava(编程浪子) 你说的配置错误,是指在 weblogic 还是在 jbuilder 中配置失误??

请讲解的详细一点。。。
majorinjava 2003-10-25
  • 打赏
  • 举报
回复
这是因为你的数据源的配置问题,在ejb里调用连接数据库必须配置成TXDataSource(支持分布式事务)类型的,而不能配置成DataSource(不支持分布式事务) 类型的.
lcl101 2003-10-25
  • 打赏
  • 举报
回复
你在WLS中要配置TXDataSource 具体怎么配置 在WLS的控制台就可以看到connect pool下面有一个TXDataSource 一看就知道怎么配

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧