当前位置: 首页 > 知识库问答 >
问题:

java:comp/env/hronlinefsdev2 JNDI名称引用的对象无法在Liberty中实例化

沈自珍
2023-03-14

这里尝试将应用程序从WAS 8迁移到Liberty。在运行应用程序时遇到关于JNDI查找的错误,

错误

CWNEN1001E:无法实例化java:comp/env/hronlinefsdev2 JNDI名称引用的对象。如果引用名称映射到执行JNDI查找的应用程序的部署描述符绑定中的JNDI名称,请确保部署描述符绑定中的JNDI名称映射是正确的。如果JNDI名称映射正确,请确保可以使用相对于默认初始上下文的指定名称解析目标资源。[根异常是com.ibm.wsspi.injectionengine.injectionexception:CWNEN0030E:服务器无法获得java:comp/env/HRONLINEFSDEV2引用的对象实例。异常消息是:CWNEN1004E:服务器无法找到java:comp/env/HRONLINEFSDEV2引用的javax.sql.DataSource类型的HRONLINEFSDEV2默认绑定。]

web.xml

<resource-ref>
    <description>
    </description>
    <res-ref-name>HRONLINEFSDEV2</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref name="HRONLINEFSDEV2" binding-name="jdbc/hronline/ds_FSDEV2"/>
<dataSource id="HRONLINEFSDEV2" jndiName="jdbc/hronline/ds_FSDEV2" type="javax.sql.DataSource" jdbcDriverRef="Oracle_12.1.0.2">
        <properties.oracle databaseName="SF304D03" serverName="ECCDB1382.ECC1Q.FORD.COM" portNumber="1521" URL="jdbc:oracle:thin:@ECCDB1382.ECC1Q.FORD.COM:1521:SF304D03" statementCacheSize="50" name="HRONLINEFSDEV2" description="Data source template"/>
        <connectionManager agedTimeout="1200" connectionTimeout="180" maxIdleTime="1800" maxPoolSize="100" minPoolSize="1" reapTime="300"/>
    </dataSource>
initContext = new InitialContext();
ds = (DataSource) initContext.lookup("java:comp/env/jdbc/hronline/ds_FSDEV2");

共有1个答案

鲁炳
2023-03-14

为了使绑定文件将web.xml中的资源引用与server.xml中的服务器资源关联,web.xml中的res-ref-name需要与ibm-web-bnd.xml中的name匹配,即将 更改为 (反之亦然)。此外,java代码需要通过 binding-name=“jdbc/hronline/ds_fsdev2”查找绑定文件中指定的jndi名称,如下所示

ds=(数据源)initcontext.lookup(“java:comp/env/jdbc/hronline/ds_fsdev2);

 类似资料:
  • 我试图使用Jackson将JSON blob转换为实例化Java类对象的列表。只要JSON保持不变,这就相当简单了。但是,从服务器返回的每个JSON对象都以唯一的UUID开始,这意味着每个对象都是不同的。是这样的: 请注意,每个JSON对象都以不同的名称开头。如果每个JSON对象都使用相同的名称(如“数据”)而不是UUID启动,那么这将是一个骗局。现在我得到了以下异常: JAVAlang.Runt

  • 本文向大家介绍Java中的对象和对象引用实例浅析,包括了Java中的对象和对象引用实例浅析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java中的对象和对象引用。分享给大家供大家参考。具体分析如下: 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然。今天我们就来一起了解一下对象和对象引

  • 目前,我正在我的项目中创建一个Jenkins共享库,在实例化一个对象时遇到了一个问题。 我的应用程序的树结构 -day#1 --/詹金斯档案 --/src/File1。groovy --/测试/文件1规范。groovy --/vars/file1。groovy 从我的Jenkins文件中,我可以调用file1。函数,inturn将创建写入文件中的类对象/src/File1。groovy和它工作得很

  • 我需要将一些html转换为PDF。我遇到了IText7,它看起来是一个很好的解决方案。 我正在. net core 3.1中开发 但是,即使使用它的基本实现,我也会遇到一个错误: 每个人都喜欢这个错误: 对象引用未设置为对象的实例。 内部异常为null,唯一的线索是SerializationStackTraceString是: 在iText. IO. FontCache. cctor() 那么,它

  • 关于堆栈溢出的第一个问题!我觉得这一定是Java初学者的一个常见问题。但我已经尝试了几个小时,一直没有找到解决办法。我认为可以通过这种方式访问对象属性。 起初,我认为实际上是一个对象数组,所以当我创建对象数组时,我在构造函数中使用了一个对象数组。我立即解决了这个问题,但这个问题仍然存在。 它甚至更烦人,因为在调试模式下,我可以看到及其属性中的。看着Eclipse嘲笑我。

  • 我正在从websphere 8.5迁移到Liberty 8.5。那么我可以用吗?. p12文件,它是我从appsvr01中的websphere安装位置获得的 < li >如果是,那么如何在server.xml(liberty)的标记中使用它 -如果没有,那么我们可以自由地使用IBMJSSE2标准生成自己的密钥库。请解释一下。