创建ejb项目时添加jpa框架,在jndi dara source中命名数据源为myejb,生成配置文件如下
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="text1PU" transaction-type="JTA">
<jta-data-source>mytext</jta-data-source>
</persistence-unit>
启动jboss后在
jboss.jca
name='jboss-ha-local-jdbc.rar',service=RARDeployment
name='jboss-ha-xa-jdbc.rar',service=RARDeployment
name='jboss-local-jdbc.rar',service=RARDeployment
name='jboss-xa-jdbc.rar',service=RARDeployment
name='jms-ra.rar',service=RARDeployment
name='mail-ra.rar',service=RARDeployment
name='quartz-ra.rar',service=RARDeployment
name=DefaultDS,service=DataSourceBinding
name=DefaultDS,service=LocalTxCM
name=DefaultDS,service=ManagedConnectionFactory
name=DefaultDS,service=ManagedConnectionPool
点开
name=DefaultDS,service=DataSourceBinding 看不到名为myejb的数据源,不知道为什么
[color=blue][b]很可能是,MyEclipse中建立的数据源,是你开发时利用的。但是在你部署时,Myeclipse可能没有 在JBOSS中配置数据源。
建议:手工在JBOSS中配置一下数据源。
[/b][/color]
[color=blue][b]
检查:
1、xml文件的命名: 是否忘记带 -ds 了没 ?
2、有没有将驱动类放在指定的目录下, server\你的配置项(比如:default)\lib下
3、是否将XXX-ds.xml放在server\你的配置项(比如:default)\deploy
[/b][/color]
[color=blue][b]
另外,发布数据源成功之后,数据源的名字会直接出现在JBOSS的管理后台的jboss.jca项下,不用点击name=DefaultDS,service=DataSourceBinding去找。
你是不是在Eclipse的集成环境中,用向导设置的数据源呀?
还是手工配置的好!
(呵呵,不了解在Eclipse中配置的数据源,在部署时,会不会自动给JBOSS也生成数据源的配置文件)。
[/b][/color]