datasource,dataSource init error

http://www.itjxue.com  2023-01-08 16:06  来源:未知  点击次数: 

datasource在英语论文中怎么找

1、首先要打开英语论文。

2、其次将英语论文中选中。

3、最后点击搜索datasource即可找到。

datasource需要关闭吗

datasource在使用完后也是需要关闭的

无论是否使用连接池。如果没使用连接池那么connection关闭是真正的关闭数据库连接,使用连接池的话connection关闭实际上是将connection放回到连接池而非真正关闭连接。使用连接池的目的就是防止频繁创建关闭connection,连接池会对connection复用,就是多次重复使用。

datasource和datasink的区别

在weka中是这样的:

datasource: 基础类,用于将源数据输入到程序

datasink:基础类,用于输出程序产生的数据。

(4)数据源datasource详解

为了建立一个连接,你可以从 DriverManager 这个对象获取以及连接,也可以从DataSource数据源获取一个连接,这个是一种 更加高效的方式

如果开放的软件不止使用一种数据源,可以发布不同的数据源进行隔离, DataSource的具体实现由具体的厂商提供

可以发现DataSource 有两种获取连接的方法,一种是无参的,一种是带有用户名和密码的

MySQL的数据源的具体实现: com.mysql.jdbc.jdbc2.optional.MysqlDataSource ,

一般来说, 支持分布式的数据源也支持连接池的数据源

数据源的部分,主要是了解有哪几种的实现方式,如果想了解数据源的创建和发布以及从数据源中获取连接:

请参考:

如何创建 DataSource

你好,可以参见下面:

数据源是数据库连接池里面的概念,连接池就是指当服务器启动时,先建立几个连接,在应用需要与数据库连接时,就从连接池里获取,使用完以后,不是将连接断掉,而是放回到池里面,这样就减少了数据连接创建的次数,大大提高了连接性能。而数据源就是给服务器一个配置信息,然服务器就知道怎么使用JDBC驱动,比如url参数,数据库实例名、用户名与密码等等。Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现,下面以mysql为例介绍几种常见DataSource的创建方法:

一、JNDI方式创建DataSource

以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置,在Eclipse的J2EE架构下,也可以把context.xml文件创建在/META-INF目录下。其配置如下:

Context!--MySql--

Resource name="jdbc/movie" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000"

username="[用户名]" password="[密码]" driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/[实例名]?autoReconnect=true"/

/Context

正确的配置后,就可以在程序中以JNDI的方式创建数据源,得到数据库连接并进行相应的操作。代码如下:

try {

Context context = new InitialContext();

if (context == null){

throw new Exception("create context failed!");

}

DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/[实例名]");

if (ds == null) {

Thread.sleep(2000);

ds = (DataSource) context.lookup("java:comp/env/jdbc/[实例名]");

if (ds == null) {

throw new Exception("get datasource failed!");

}

}

} catch (NamingException ne) {

throw ne;

} catch (Exception e) {

throw e;

}

二、Apache提供的简单连接池创建数据源

以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar,将这两个jar包放到WEB-INF/lib目录下。以这种方式创建的数据源就不再是javax.sql.DataSource了,而是org.apache.commons.dbcp.BasicDataSource。而且不再需要配置任何文件就可以直接使用。代码如下:

// 创建BasicDataSource对象

BasicDataSource ds = new BasicDataSource();

ds.setDriverClassName("com.mysql.jdbc.Driver");

ds.setUrl("jdbc:mysql://localhost:3306/[实例名]");

ds.setUsername("[用户名]");

ds.setPassword("[密码]");

ds.setInitialSize(50);

ds.setMaxActive(100);

ds.setMaxIdle(30);

ds.setMaxWait(10000);

// 关闭数据源连接

ds.close();

三、C3P0方式创建数据源

使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到WEB-INF/lib目录下,就可以在项目中使用C3P0创建数据源,C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource,代码如下:

// 创建ComboPooledDataSource对象

ComboPooledDataSource ds = new ComboPooledDataSource();

ds.setDriverClass("com.mysql.jdbc.Driver");

ds.setJdbcUrl("jdbc:mysql://localhost:3306/[实例名]");

ds.setUser("[用户名]");

ds.setPassword("[密码]");

ds.setInitialPoolSize(50);

ds.setMaxPoolSize(100);

ds.setMaxIdleTime(10000);

四、Proxool方式创建数据源

采用该方式创建数据源需要准备的jar包:proxool-01.9.0RC3.jar,将其放到WEB-INF/lib目录下,之后就可以项目中创建ProxoolDataSource对象,其代码如下:

// 创建ProxoolDataSource对象

ProxoolDataSource ds = new ProxoolDataSource();

ds.setDriver("com.mysql.jdbc.Driver");

ds.setDriverUrl("jdbc:mysql://localhost:3306/[实例名]");

ds.setUser("[用户名]");

ds.setPassword("[密码]");

五、BoneCP方式创建数据源

BoneCP是一个快速高效,开源免费的Java数据库接池。创作者称,BoneCP在性能上会完全超越所有主流的Java连接池。它可以帮你管理数据连接,让你的应用程序能更快速地访问数据库。比C3P0/DBCP(DataBaseconnection pool,数据库连接池)连接池快25倍。这个数据库连接池采用Google Collection作为内部的集合类框架,而且现在的版本已经很稳定。要使用BoneCP,必须用到的jar文件有:

· bonecp-0.6.5.jar

· google-collections-1.0.jar

· slf4j-api-1.5.11.jar

· slf4j-log4j12-1.5.11.jar

· log4j-1.2.15.jar

将这些jar包放到WEB-INF/lib目录下,就可以在程序中创建BoneCPDataSource对象,代码如下:

// 创建BoneCPDataSource对象

BoneCPDataSource ds = new BoneCPDataSource();

ds.setDriverClass("com.mysql.jdbc.Driver");

ds.setJdbcUrl("jdbc:mysql://localhost:3306/[实例名]");

ds.setUsername("[用户名]");

ds.setPassword("[密码]");

ds.setAcquireIncrement(1);

ds.setAcquireRetryDelay(10000);

ds.setIdleConnectionTestPeriod(100);

ds.setMinConnectionsPerPartition(2);

ds.setMaxConnectionsPerPartition(20);

ds.setPartitionCount(2);

在创建完数据源之后,就可以利用jdbc在程序与数据库之间建立连接,但要注意的是,要有相关的jdbc驱动包,不同的数据库需要不同的驱动,一般在各个数据库官方网都可以获取。

望采纳!

1、fromCollection(Collection) - 从 Java 的 Java.util.Collection 创建数据流。集合中的所有元素类型必须相同。

2、fromCollection(Iterator, Class) - 从一个迭代器中创建数据流。Class 指定了该迭代器返回元素的类型。

3、fromElements(T …) - 从给定的对象序列中创建数据流。所有对象类型必须相同。

4、fromParallelCollection(SplittableIterator, Class) - 从一个迭代器中创建并行数据流。Class 指定了该迭代器返回元素的类型。

5、generateSequence(from, to) - 创建一个生成指定区间范围内的数字序列的并行数据流。

1、readTextFile(path) - 读取文本文件,即符合 TextInputFormat 规范的文件,并将其作为字符串返回。

2、readFile(fileInputFormat, path) - 根据指定的文件输入格式读取文件(一次)。

3、readFile(fileInputFormat, path, watchType, interval, pathFilter, typeInfo) - 这是上面两个方法内部调用的方法。它根据给定的 fileInputFormat 和读取路径读取文件。根据提供的 watchType,这个 source 可以定期(每隔 interval 毫秒)监测给定路径的新数据(FileProcessingMode.PROCESS_CONTINUOUSLY),或者处理一次路径对应文件的数据并退出(FileProcessingMode.PROCESS_ONCE)。你可以通过 pathFilter 进一步排除掉需要处理的文件。

实现:

重要注意:

socketTextStream(String hostname, int port) - 从 socket 读取。元素可以用分隔符切分。

addSource - 添加一个新的 source function。例如,你可以 addSource(new FlinkKafkaConsumer011(…)) 以从 Apache Kafka 读取数据。

1、基于集合:有界数据集,更偏向于本地测试用

2、基于文件:适合监听文件修改并读取其内容

3、基于 Socket:监听主机的 host port,从 Socket 中获取数据

4、自定义 addSource:大多数的场景数据都是无界的,会源源不断的过来。比如去消费 Kafka 某个 topic 上的数据,这时候就需要用到这个 addSource,可能因为用的比较多的原因吧,Flink 直接提供了 FlinkKafkaConsumer011 等类可供你直接使用。你可以去看看 FlinkKafkaConsumerBase 这个基础类,它是 Flink Kafka 消费的最根本的类。

5、flink目前支持的source详细可以阅读官网connects部分;

(责任编辑:IT教学网)

更多

相关Discuz!建站文章

推荐Discuz!建站文章