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

如何通过spring的JNDI名称获取数据源连接?

伯丁雷
2023-03-14

我刚来spring,有以下问题。

我正在处理一个应用程序,运行在JBoss服务器上,它必须使用JDBCTemplate在DB上执行查询。

在JBoss中,我设置了标识数据库连接的JNDI名称。

我尝试实现了这个JdbcTemplate的简单示例,对我来说,JdbcTemplate是如何工作的非常清楚。在本例中,为了创建到数据库的连接,它定义了一个dataSource bean,然后将其注入到使用JdbcTemplate的类中,方法如下:

   <!-- Initialization for data source -->
   <bean id="dataSource" 
      class="org.springframework.jdbc.datasource.DriverManagerDataSource">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://localhost:3306/TEST"/>
      <property name="username" value="root"/>
      <property name="password" value="password"/>
   </bean>

   <!-- Definition for studentJDBCTemplate bean -->
   <bean id="studentJDBCTemplate" 
      class="com.tutorialspoint.StudentJDBCTemplate">
      <property name="dataSource"  ref="dataSource" />    
   </bean>

因此,如您所见,在此配置中,数据源配置被显式写入xml配置文件。

我如何通过定义的JNDI名称从JBoss获得它?

共有1个答案

常海
2023-03-14

您可以使用以下spring-servlet.xml:

<jee:jndi-lookup id="dataSource" jndi-name="<JNDI NAME>" />

在beans标记的xsi:schemaLocation属性中添加以下内容:

http://www.springframework.org/schema/jee    http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
 类似资料:
  • 问题内容: 我正在尝试获取在SQL Server中连接到的数据库的名称。我试着做: 但是,出现以下错误: 如何获得我连接的数据库的名称? 问题答案: 您可以: 使用创建一个本地SQL查询。您可以使用提取一行结果。 从中获取JDBC ,然后从数据库元数据中提取连接字符串。对于SQL Server,我相信您需要解析才能提取实际的数据库名称。 请注意,它已被弃用,您应该使用。

  • 问题内容: 我正在使用Websphere Portal 7.0并使用RAD 8.0创建一个portlet。我的portlet试图建立到远程服务器的db2连接。我在本地编写了一个Java程序来与服务器建立基本的JDBC连接,并从表中获取记录。代码工作正常;但是,当我将代码以及db2jcc4.jar添加到我的portlet时,连接不起作用。我正在使用基本的: 我认为使用Websphere数据源是正确的

  • 我正在使用WebLogic12c,并将数据源配置如下: 注意,它们都部署在目标“AdminServer”上。此外,“name”字段和“JNDI name”字段是相同的。例如,假设一个数据源的名称是“myds”。 现在,当我尝试通过Spring Data JPA获取数据源时,如下所示: 我还看到了这个错误: 调试O.s.JNDI.jndiobjectFactoryBean-未找到转换的JNDI名称[

  • 问题内容: 如标题中所指定,我想在sqlserver中获取数据库名称,我所知道的所有信息都是数据源名称,用于获取Connection对象的登录名/密码,请在Java中显示一些有关如何正确检索数据库名称的指针,谢谢! 甚至 问题答案: 从连接对象获取一个实例。 数据库名称可以通过或方法获得(取决于JDBC驱动程序的供应商)。 或使用或方法。 如果您有兴趣获得Oracle数据库服务器或Oracle数据

  • 问题内容: 大家好,我使用Hibernate + Struts2 + Tomcat6 + Mysql作为我的J2EE框架。我一直在使用hibernate的内置连接池机制,但事实证明,在8小时后mysql关闭其连接的地方,这是一个问题。无论如何,我在Google上搜索了一下,发现我应该通过JNDI数据源获得连接,但是我无法获得关于此的完整的教程。我应该采取什么步骤呢?请提供足够的详细信息,对此我有点

  • 问题内容: 有什么办法可以在Python中按进程名称获取PID? 例如,我需要获得通过。 问题答案: 你可以使用进程的名字来的PID 通过subprocess.check_output: 将运行命令为, 如果返回码非零,则会引发CalledProcessError。 要处理多个条目并转换为整数: 在[21]中:get_pid(“ chrome”) 或者通过标记获取单个pid: