使用glass-fish部署项目时报资源无效:java.lang.RuntimeException: Invalid resource : myDataSource__pm

问题描述:

  在开发工具中部署运行构建生成的ear文件,与IDE一起工作的glassfish是没有问题的,然而当我试图将ear 单独部署在glassfish服务环境中,就出现无尽的噩梦了,

java.lang.RuntimeException: Invalid resource : myDatasource__pm 

       事实上我创建的数据源自始至终只有myDataSource 这一个JNDI,glassfish 似乎搞错了对象,后来想想,也许是它找不到myDatasource,所以尝试myDatasource__pm?

解决方法:

  将 resources.xml 文件中连接池jdbc资源复制到 \glassfish-4.1\glassfish\domains\domain1\config\domain.xml 

  

<jdbc-connection-pool datasource-classname="oracle.jdbc.pool.OracleDataSource" name="connectionPool" wrap-jdbc-objects="false" connection-validation-method="auto-commit" res-type="javax.sql.DataSource">
      <property name="URL" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
      <property name="User" value="user"></property>
      <property name="Password" value="123456"></property>
    </jdbc-connection-pool>
    <jdbc-resource pool-name="connectionPool" jndi-name="jdbc/myDatasource"></jdbc-resource>
 <resource-ref ref="jdbc/myDatasource"></resource-ref>

  随后重新启动glassfish,在localhost:4848中能够查看到刚才配置好的资源和连接池:

 

 

再次部署 ear,已经不是什么问题了

 

posted @ 2020-06-04 15:27  水中游鱼  阅读(374)  评论(0编辑  收藏  举报