当前位置: 首页 > 面试题库 >

如何从Web容器外部查找JNDI数据源?

张和豫
2023-03-14
问题内容

我设置了以下环境:

  • Java 1.5
    Sun application server 8.2

    Oracle 10 Xe
    *Pillar 2
  • hibernate

我想知道如何为Java客户端(即,Web应用程序外部)编写代码,该代码可以引用应用程序服务器提供的JNDI数据源。

Sun Application Server的端口均为默认端口。服务器配置中有一个名为jdbc /
xxxx的JNDI数据源,但是我注意到Web应用程序的Hibernate配置改为使用名称java:comp / env / jdbc / xxxx。

到目前为止,我看到的大多数示例都涉及类似

Context ctx = new InitialContext();
ctx.lookup("jdbc/xxxx");

但是似乎我使用的是错误的JNDI名称,或者我需要配置jndi.properties或其他配置文件以正确指向侦听器?我有Sun Application
Server的appserv-rt.jar,其中有jndi.properties,但似乎无济于事。

这里有一个类似的问题,但它没有给出任何代码/指的是让iBatis自动获取JNDI数据源:从Web容器外部访问数据源(通过JNDI)


问题答案:

我陷入了这个完全相同的问题。我写了一个小教程。基本上,您必须创建自己的DataSource对象实现,并将它们添加到您自己的自定义初始上下文中。这里有源示例

在本地运行使用Application Server数据源的Bean



 类似资料:
  • 问题内容: 我想在Java SE应用程序中使用JNDI配置数据源。做这个的最好方式是什么? 到目前为止,我遇到了两个项目: Apache命名。项目页面上有一个用于配置数据源的特定示例,但看起来该项目已过时并且不再处于活动状态。 JBossNS。使用似乎很容易配置仅本地的JNDI ,但我还没有找到任何有关如何实际配置数据源的文档。 如果可能,我还要使用JTA事务管理器(使用JOTM?)配置数据源。

  • 例外的是,我必须在这个库中创建一个通过JNDI查找jdbc数据源的新类。 为此,下面是我的代码: 所有上下文都没有问题地实例化了。但是当它查找jdbc数据源时,我有一个例外:在上下文中找不到名称jdbc 我们不是在一个webapp,这是一个问题吗?是否可以使用ResourceLink声明context.xml?怎么做? 注意:jndi是在server.xml(GlobalNamingResourc

  • 我一直在努力从本地主机和外部连接到postgresql容器。 这是一个非常好的演示,它在https://linuxhint.com/postgresql_docker/.下面是docker compose。yml,postgres:12.2和pgadmin通过它进行集装箱化和运行。事实上,在运行docker compose之后。yml文件(由docker compose up-d编写)它们可以工作

  • 问题内容: 我们的应用程序当前使用的数据源是在JBoss standalone.xml中定义的,基本上我们需要在应用程序而不是容器中定义它。我们当前的设置是; application-context.xml; persistance.xml: datasource.xml: 基本上我想要的只是生产线 从datasource.xml读取而不是转到容器(JBoss)。看起来似乎很简单,但是在阅读了一些

  • 我有一个MS SQLServer 2008 a数据库,名为:“conpool”。并在那里创建了一个具有id、全名和年龄的表。现在,我已经在Netbeans 7.3和Tomcat 7.0.30中的Java中实现了一个连接池,以避免每次都将连接绑定到我的数据库,并且我可以对数据库进行查询。 我的连接池: //------------------------Beginn JDBC连接池---------

  • 问题内容: 我按照此处的说明使用内置Web服务器运行Django,并能够使用成功运行它python manage.py runserver。如果我从Web服务器本地访问127.0.0.1:port,则将显示Django页面,表明它可以正常工作。 我意识到Django网络服务器不是生产服务器,但是对于我来说,测试的重要之处在于能够从外界访问它-即,不是从服务器上的Web浏览器而是从另一台计算机访问它