标签: datasource

如何在Spring中使用Tomcat提供的JNDI DataSource?

据说在关于DriverManagerDataSource类的Spring javadoc文章中,这个类非常简单并且推荐使用

使用容器提供的JNDI DataSource.这样的一个DataSource可以DataSource在Spring ApplicationContext via中作为bean 公开JndiObjectFactoryBean

问题是:我该如何做到这一点?

例如,如果我希望有DataSourcebean来访问我的自定义MySQL数据库,那么我需要什么呢?我应该在上下文配置等中写什么?

java spring tomcat jndi datasource

155
推荐指数
6
解决办法
25万
查看次数

什么是WCF服务参考.datasource文件?

什么是由Visual Studio中的"创建服务引用"自动生成的.datasource文件?文件中的注释是这样的:

此文件由Visual Studio .Net自动生成.它用于存储通用对象数据源配置信息.
重命名文件扩展名或编辑此文件的内容可能
导致该程序无法识别该文件.

但是,听起来这些文件是可选的,所以我想知道它们用于什么.我也想知道删除它们是否真的安全,因为它们经常导致XP上的路径长度问题.

http://www.eggheadcafe.com/conversation.aspx?messageid=34104031&threadid=34104026

谁能指点我这些文件的官方MS文档?

wcf datasource file service-reference

84
推荐指数
3
解决办法
3万
查看次数

为什么我们使用DataSource而不是DriverManager?

我正在阅读Java JDBC规范(vr.4),并且我对此声明进行了说明:

DataSource - 此接口是在JDBC 2.0 Optional Package API中引入的.它优先于DriverManager,因为它允许有关底层数据源的详细信息对应用程序透明

我想要了解的是a Connection和a 之间的差异DataSource,以及它存在的原因.我的意思是,上面的块表示有关数据源的详细信息对应用程序是透明的,但是不会在属性文件中外部化数据库属性(如用户名,密码,URL等),然后以相同的方式使用DriverManager工作?

DataSource创建的界面是否只有一种通用的方式来返回可以合并的连接?在Java EE中,应用程序服务器是否实现此接口,并且部署的应用程序是否具有对数据源而不是连接的引用?

java datasource jdbc

82
推荐指数
4
解决办法
8万
查看次数

您应该在server.xml或context.xml中设置数据库连接属性

我正在尝试使用JNDI为Spring Web应用程序设置数据库连接属性.

我正在考虑以下两种方法:

方法1:

在Spring配置中,您可能会遇到以下情况:

<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/facs"/>
Run Code Online (Sandbox Code Playgroud)

然后在你的webapp /META-INF/context.xml文件中你也应该有类似的东西:

<?xml version='1.0' encoding='utf-8'?>

<!-- antiResourceLocking="true" -->
<Context path="/podd-apn"
         reloadable="true"
         cachingAllowed="false"
         antiResourceLocking="true"
         >

  <Resource name="jdbc/facs"              
            type="javax.sql.DataSource" username="${database.username}" password="${database.password}"
            driverClassName="org.postgresql.Driver" 
            url="${database.url}"
            maxActive="8" maxIdle="4"
            global="jdbc/facs" 
            />


</Context>
Run Code Online (Sandbox Code Playgroud)

在你的web.xml中,你应该这样:

<!-- JNDI -->
  <resource-ref>
    <description>FACs Datasource</description>
    <res-ref-name>jdbc/facs</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref> 
Run Code Online (Sandbox Code Playgroud)


方法2:

在Spring上下文中设置如下:

<jee:jndi-lookup id="dbDataSource"
   jndi-name="jdbc/DatabaseName"
   expected-type="javax.sql.DataSource" />
Run Code Online (Sandbox Code Playgroud)

您可以使用以下内容在Tomcat的server.xml中声明JNDI资源:

<GlobalNamingResources>
  <Resource name="jdbc/DatabaseName" auth="Container" type="javax.sql.DataSource"
              username="dbUsername" password="dbPasswd"
              url="jdbc:postgresql://localhost/dbname"
              driverClassName="org.postgresql.Driver"
              initialSize="5" maxWait="5000"
              maxActive="120" maxIdle="5"
              validationQuery="select 1"
              poolPreparedStatements="true"/>
</GlobalNamingResources/>
Run Code Online (Sandbox Code Playgroud)

并从Tomcat的web context.xml引用JNDI资源,如下所示:

<ResourceLink name="jdbc/DatabaseName"
   global="jdbc/DatabaseName"
   type="javax.sql.DataSource"/>
Run Code Online (Sandbox Code Playgroud)


我的问题是保留数据库属性的最佳位置在哪里?它们应该放在server.xml还是context.xml中 …

java spring jndi datasource

78
推荐指数
3
解决办法
8万
查看次数

我在哪里可以找到历史原始天气数据?

我在哪里可以找到我正在做的项目的历史原始天气数据,重点是美国和加拿大.我主要需要温度,但其他细节会很好.我很难找到这些数据.我真的不想要刮一个天气现场.

database datasource weather weather-api

77
推荐指数
2
解决办法
8万
查看次数

c#dictionary一键多个值

我想创建一个数据存储,以允许我存储一些数据.

第一个想法是创建一个字典,其中有1个具有许多值的键,所以有点像一对多的关系.

我认为字典只有1个键值.

我怎么能存储这些信息?

.net c# dictionary datasource

63
推荐指数
6
解决办法
11万
查看次数

使用Dictionary作为数据源绑定组合框

我正在使用.NET 2.0,我正在尝试将组合框的数据源绑定到排序字典.

所以我得到的错误是"DataMember属性'Key'无法在数据源上找到".

        SortedDictionary<string, int> userCache = UserCache.getSortedUserValueCache();
        userListComboBox.DataSource = new BindingSource(userCache, "Key"); //This line is causing the error
        userListComboBox.DisplayMember = "Key";
        userListComboBox.ValueMember = "Value";
Run Code Online (Sandbox Code Playgroud)

.net c# combobox datasource winforms

59
推荐指数
4
解决办法
11万
查看次数

在Spring Boot中以编程方式配置DataSource

使用Spring Boot,我可以JdbcTemplate使用以下内容实例化:

码:

@Autowired
private JdbcTemplate jdbcTemplate;
Run Code Online (Sandbox Code Playgroud)

属性:

spring.datasource.url=jdbc:postgresql://my_url:my_port/my_other_stuff
spring.datasource.username=my_user_name
spring.datasource.password=my_password
spring.datasource.driver-class-name=org.postgresql.Driver
Run Code Online (Sandbox Code Playgroud)

这创建了一个类的DataSource: org.apache.tomcat.jdbc.pool.DataSource

如何以编程方式设置DataSource用户名/密码?

我们的策略是不以纯文本格式存储凭据,我必须在我工作的地方使用特定的凭据提供程序.

java spring datasource credential-providers spring-boot

59
推荐指数
5
解决办法
16万
查看次数

如何在Java中手动配置DataSource?

我正在尝试在http://java.sun.com/docs/books/tutorial/jdbc/basics/connecting.html上关注Sun的JDBC教程.

它给出了以下示例代码:

DataSource ds = (DataSource) org.apache.derby.jdbc.ClientDataSource()
ds.setPort(1527);
ds.setHost("localhost");
ds.setUser("APP")
ds.setPassword("APP");

Connection con = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)

此代码无法编译,因为DataSource除了getConnection()上次调用的方法之外,接口没有这些方法.

(这是javadoc:http: //java.sun.com/javase/6/docs/api/javax/sql/DataSource.html)

我错过了什么?

编辑: 我实际上是在尝试连接MySQL(com.mysql.jdbc)而我找不到javadoc.我会接受一个指向我的答案:

1)com.mysql.jdbc关于DataSource我能理解的文件,或者

2)为任何数据库提供了教程代码应该遵循的示例.

java datasource jdbc

43
推荐指数
4
解决办法
11万
查看次数

数据源和委托之间有什么区别?

我有一个与Cocoa框架设计模式相关的基本问题.

委托和数据源之间有什么区别?

它们都可以使用@protocols声明,但是一些类或框架正在使用delegate,而另一些正在使用datasource.

我可以理解的UI/NSTableViewdelegate对UI相关事件的响应,而datasource与数据完全相关.但是,我不知道Cocoa的UI类之外的任何数据源实现.

注意:

  • 我在这个问题中提到的代表并不总是与UI事件有关.
  • 数据源问题已得到解答.

cocoa delegates datasource protocols

41
推荐指数
5
解决办法
4万
查看次数