1
00:00:00,120 --> 00:00:00,660
Comenzamos.

2
00:00:00,690 --> 00:00:04,140
Lo primero es clonar el proyecto para no modificar el que ya tenemos.

3
00:00:04,230 --> 00:00:06,480
Hacemos clic en BJs Close.

4
00:00:06,750 --> 00:00:12,210
El proyecto anterior Coppi lo pegamos un poco más abajo con peset lo renombrar.

5
00:00:12,750 --> 00:00:14,370
Por ejemplo Pull.

6
00:00:15,480 --> 00:00:18,120
Ok, bien, eso crea un proyecto.

7
00:00:18,210 --> 00:00:22,200
Recuerden, lo tenemos que cerrar el actual y abrir el nuevo.

8
00:00:22,800 --> 00:00:23,640
No vamos a abrir.

9
00:00:24,510 --> 00:00:26,760
Buscamos acá abajo hasta de Sepul.

10
00:00:26,850 --> 00:00:27,690
Lo seleccionamos.

11
00:00:27,780 --> 00:00:28,220
Ok.

12
00:00:29,500 --> 00:00:31,390
Bien, acá lo tenemos con toda la clases.

13
00:00:31,570 --> 00:00:34,840
Ahora tenemos que modificar, por ejemplo, si nos vamos.

14
00:00:34,930 --> 00:00:36,760
Ejemplo JS Está perfecto.

15
00:00:37,180 --> 00:00:43,150
Ahora, en caso de que le marque error en la dependencias, en la referencia de clases, simplemente

16
00:00:43,330 --> 00:00:45,460
reinician el intelige.

17
00:00:45,580 --> 00:00:50,950
Por ejemplo, errores en los import, en las clases lo reinician y con eso se diría solucionar para

18
00:00:50,950 --> 00:00:52,150
implementar pool de conexiones.

19
00:00:52,210 --> 00:00:54,520
Tenemos que ir a conexión de base dato.

20
00:00:55,090 --> 00:00:57,310
Vamos a cerrar la pestaña Proyecto.

21
00:00:57,430 --> 00:01:00,730
Nos vamos a ir con Control Tab a Conexión Base Auto.

22
00:01:00,910 --> 00:01:04,870
Acá tenemos que modificar porque estamos utilizando el Travel Manager y ahora tenemos que implementar

23
00:01:04,960 --> 00:01:07,690
el pull de conexiones con Apache Commons.

24
00:01:07,810 --> 00:01:13,210
Pero bueno, Apache Commons es una librería, una dependencia que tenemos que agregar en el XML.

25
00:01:13,460 --> 00:01:17,590
Entonces, en realidad lo primero que tenemos que hacer es configurar esta dependencia.

26
00:01:17,830 --> 00:01:19,300
Así que nos vamos a ir al POM.

27
00:01:19,420 --> 00:01:20,200
Lo vamos a abrir.

28
00:01:20,320 --> 00:01:22,180
No vamos a ir por acá.

29
00:01:23,120 --> 00:01:27,140
Pomme kml y debajo de mí se cuele por acá.

30
00:01:27,230 --> 00:01:35,960
Agregamos esta dependencia, entonces dependencias, cerramos y bajamos un group.

31
00:01:35,990 --> 00:01:39,740
Heidy Como siempre podríamos seleccionar acá grupi.

32
00:01:40,010 --> 00:01:45,500
Acá se abre, se cierra también bajamos y vamos a tener un artefacto Heidy que sería el nombre proyecto

33
00:01:45,710 --> 00:01:51,860
o de la dependencia esta librería artefacto Heidy También vamos a tener una que se llama Versión igual

34
00:01:51,860 --> 00:01:52,520
que me secuela.

35
00:01:52,910 --> 00:01:54,410
La seleccionamos y listo.

36
00:01:54,470 --> 00:01:59,450
Partamos por el grupo Heidy sería org punto Apache Commons.

37
00:02:01,710 --> 00:02:02,090
Listo.

38
00:02:02,460 --> 00:02:03,210
Bajamos.

39
00:02:03,990 --> 00:02:07,000
Bajamos por acá al artefacto Heidy.

40
00:02:07,170 --> 00:02:08,640
Nombre de la librería.

41
00:02:08,880 --> 00:02:11,670
Buscamos combos de BSP 2.

42
00:02:12,810 --> 00:02:16,080
Guión de BSP 2.

43
00:02:16,230 --> 00:02:26,070
Bajamos en librería y la versión la podríamos autocompletar 2.8 .0, es decir, la última hasta la fecha

44
00:02:26,070 --> 00:02:26,940
de grabar este video.

45
00:02:27,210 --> 00:02:28,060
Con eso está perfecto.

46
00:02:28,530 --> 00:02:34,050
Punto 8.0 Bien, y recuerden que siempre acá tenemos que actualizar la dependencia.

47
00:02:34,200 --> 00:02:38,520
Hacemos un click acá en este botón 7 que aparece o debiera aparecer.

48
00:02:39,470 --> 00:02:44,780
Electo ahí se descarga, se actualiza en la referencia o dependencia del proyecto.

49
00:02:46,140 --> 00:02:47,460
O también lo pueden hacer acá?

50
00:02:48,030 --> 00:02:48,390
En fin.

51
00:02:50,270 --> 00:02:56,180
Y por acá, allá tenemos la librería librería externa, por ejemplo, por acá tiene que aparecer Apache

52
00:02:56,180 --> 00:03:03,950
con más de BSP, ahora que sí, ahora podemos implementar conexión a la Segato utilizando bueno, DataSource

53
00:03:04,310 --> 00:03:07,370
bien, pero el DataSource es único por cada aplicación.

54
00:03:07,490 --> 00:03:11,870
Debería ser un Singleton, claro, porque maneja un pull de conexiones, maneja varias conexiones para

55
00:03:11,870 --> 00:03:13,070
nuestra aplicación, conexiones.

56
00:03:13,100 --> 00:03:18,620
Podríamos tener un grupo, un conjunto, pero el que administra este conjunto, el pull de conexiones,

57
00:03:18,740 --> 00:03:23,180
uno solo, entonces acá sería importante modificar en vez de conexión.

58
00:03:23,240 --> 00:03:33,410
Acá vamos a colocar Basic, DataSource, Basic, DataSource, perfecto y en vez de con le vamos a colocar

59
00:03:33,770 --> 00:03:35,840
pull o el punto de conexión.

60
00:03:36,080 --> 00:03:43,820
Entonces el atributo es private static del tipo Voisin DataSource nuestro pura y en GATT instance acá

61
00:03:43,820 --> 00:03:47,480
lo vamos a crear y lo vamos a devolver siempre cuando no exista.

62
00:03:47,570 --> 00:03:50,690
Por lo tanto, la primera vez cuando es igual a NULL lo creamos.

63
00:03:50,900 --> 00:03:53,090
Bueno, vamos a implementar, vamos acá.

64
00:03:53,720 --> 00:03:56,180
If Pull entonces es igual.

65
00:03:56,180 --> 00:03:58,640
Anul null bajamos.

66
00:03:59,090 --> 00:04:05,810
Vamos a crear la instancia publ igual New Bexhill, DataSource.

67
00:04:05,990 --> 00:04:08,330
Acá la tenemos y bajamos.

68
00:04:09,320 --> 00:04:12,540
Lo primero es asignar el estrenen de conexión, el muerete.

69
00:04:12,710 --> 00:04:13,730
Entonces punto.

70
00:04:14,630 --> 00:04:17,300
Por acá tenemos los métodos set set VL.

71
00:04:17,930 --> 00:04:21,430
Pasamos el VL y ya lo tenemos del tipo String.

72
00:04:21,830 --> 00:04:26,780
Bajamos Pull, punto set y Usenet.

73
00:04:27,830 --> 00:04:31,010
Pasamos al Giustiniani perfecto.

74
00:04:31,010 --> 00:04:37,040
Bajamos set pasos y lo vemos password password.

75
00:04:37,730 --> 00:04:40,880
Bien, esa sería la configuración básica de nuestro Poul.

76
00:04:41,030 --> 00:04:45,350
Opcionalmente podemos configurar por ejemplo, el tamaño del pool inicial.

77
00:04:45,650 --> 00:04:49,850
Bajamos por el punto siempre conceto.

78
00:04:50,270 --> 00:04:55,730
Hay Nether 6 que tenga para comenzar 3 conexiones abierta habilitadas.

79
00:04:56,060 --> 00:04:57,680
Luego podremos configurar.

80
00:04:57,770 --> 00:05:07,070
Recuerden también tenemos por acá en el pool el set, el min cuando tenemos el max y el min item either

81
00:05:07,310 --> 00:05:14,660
que sería el mínimo de conexiones que están inactivas que están esperando para ser utilizadas 3 y el

82
00:05:14,660 --> 00:05:20,430
máximo pull punto set el máximo item.

83
00:05:20,570 --> 00:05:28,850
También vamos a colocar 10 o 8, por ejemplo 8 conexiones como máxima inactivas y el pull en total entre

84
00:05:28,940 --> 00:05:34,190
inactivas y activas, es decir, activa que se estén utilizando inactivas que no se utilizan y están

85
00:05:34,190 --> 00:05:35,780
disponibles para ser utilizadas.

86
00:05:35,840 --> 00:05:44,030
Sería simplemente set max punto set max max total 8.

87
00:05:44,150 --> 00:05:47,870
Por ejemplo, recuerden que por defecto los valores iniciales por defecto.

88
00:05:47,870 --> 00:05:55,280
Si no configuramos esto, el A inicial 6 es cero y se va incrementando de a uno hasta llegar como máximo

89
00:05:55,370 --> 00:06:03,140
8, porque el máximo total es 8 y el Max ahí también es 8 por defecto y el mínimo es 0.

90
00:06:03,590 --> 00:06:06,380
Es decir, estos dos son 0 por defecto y todos son 8.

91
00:06:06,500 --> 00:06:08,570
Lo dejamos en 8 o lo podemos más?

92
00:06:08,750 --> 00:06:10,130
Bueno, depende de la aplicación.

93
00:06:10,790 --> 00:06:13,220
Ahora, por supuesto, acá tenemos que devolver.

94
00:06:13,310 --> 00:06:17,480
Por lo tanto este botón lo vamos a quitar y devolvemos el pull.

95
00:06:17,720 --> 00:06:23,660
Entonces seleccionamos acá todo esto Purī pero acá estamos devolviendo el pull, no la conexión.

96
00:06:23,810 --> 00:06:24,170
Se fijan?

97
00:06:24,230 --> 00:06:30,260
Ahora tengo configuraba bueno y por supuesto el método, en vez de devolver acá un connection, tiene

98
00:06:30,260 --> 00:06:32,120
que volver un Basic DataSource.

99
00:06:32,330 --> 00:06:35,670
Se que están implementando nuestro singleton con el DataSource.

100
00:06:36,200 --> 00:06:43,820
Subimos acá y esto lo quitamos, lo reemplazamos con Basic DataSource y ahí sí, ahí tenemos nuestro

101
00:06:43,820 --> 00:06:44,990
singleton del DataSource.

102
00:06:45,140 --> 00:06:51,020
Ahora tenemos que tener otro método, de hecho vamos a bajar que vamos a implementar para conectarnos,

103
00:06:51,050 --> 00:06:56,450
para obtener una nueva conexión a la acepto y este si que va a devolver un objeto connection, es decir,

104
00:06:56,510 --> 00:07:01,040
obtener una sola conexión del pool de bares que podríamos tener de estas ocho que tenemos.

105
00:07:01,040 --> 00:07:03,080
Configura entonces un public static

106
00:07:09,350 --> 00:07:10,110
quiet connection

107
00:07:13,190 --> 00:07:20,360
return el pool y devolvemos get install ASP.NET con un get instant.

108
00:07:22,300 --> 00:07:23,960
Punto, nyet con hechos.

109
00:07:24,850 --> 00:07:32,130
Bien, acá hay que manejar excepciones, entonces con alt enter lanzamos por el método ese cueles ceplan

110
00:07:32,500 --> 00:07:38,800
no se recuerdan vez que es el que con hecho en la primera vez primero Get Instant invoca este método

111
00:07:38,950 --> 00:07:40,870
que configure y crea el pool de conexiones.

112
00:07:40,960 --> 00:07:47,720
Un singleton y luego, una vez que la tengamos, invoca al que con ello obtenemos una conexión a la

113
00:07:47,720 --> 00:07:51,340
base auto desde el pool una sola y la devuelve después.

114
00:07:51,340 --> 00:07:54,670
La segunda B va a invocar get instance, pero no es nulo.

115
00:07:54,730 --> 00:08:00,070
Por lo tanto, devuelve el pull de conexiones que ya está creado anteriormente y invoca el método de

116
00:08:00,070 --> 00:08:06,220
conexión del pool, volviendo otra conexión de este pull que esté disponible siempre que esté disponible.

117
00:08:06,500 --> 00:08:11,740
Bien, ahora que tenemos esto implementado, vamos a configurar la clase repositorio, entonces control

118
00:08:11,740 --> 00:08:16,750
TAB, nos vamos a repositorio pro-ducto repositorio implemente y acá tenemos que modificar.

119
00:08:17,050 --> 00:08:22,870
Entonces sería que con esto en este método simplemente te instalas devuelve el DataSource.

120
00:08:23,200 --> 00:08:25,220
Pero acá necesitamos la conexión.

121
00:08:25,330 --> 00:08:31,090
Entonces, en vez de GET estás simplemente conecta con la conexión y listo.

122
00:08:31,950 --> 00:08:37,180
Y recuerden, es importante cerrar la conexión, una que se utiliza, pero en realidad no que estemos

123
00:08:37,270 --> 00:08:42,820
cerrando la conexión en cuestión si no estamos indicando al pool que la estamos liberando.

124
00:08:42,970 --> 00:08:49,230
Entonces, por eso es importante mantener acá en el try cada vez que utilizamos una sentencia después

125
00:08:49,480 --> 00:08:50,030
cerrada.

126
00:08:50,320 --> 00:08:55,570
Acá si se reforma automática con el true con recurso, se fijan y está molesto eso toda la implementación.

127
00:08:55,900 --> 00:09:00,850
Ahora el ejemplo podría funcionar tal cual como lo teníamos antes, pero utilizando este público gestioné.

128
00:09:01,360 --> 00:09:07,030
Entonces cada método por ejemplo listar el por Heidy, el guardar y cualquiera eliminar.

129
00:09:07,150 --> 00:09:11,530
Siempre vamos a obtener una conexión nueva a la auto desde el pool.

130
00:09:11,620 --> 00:09:13,630
Una vez que ejecutamos y la liberamos.

131
00:09:13,720 --> 00:09:14,260
Eso es todo.

132
00:09:14,560 --> 00:09:15,310
Vamos a probar.

133
00:09:16,540 --> 00:09:25,060
Cerramos control TAF, por ejemplo, podría ser ejemplo JDBC Acá, por ejemplo acá vamos a modificar

134
00:09:27,130 --> 00:09:28,540
para que sea distinto omen.

135
00:09:28,680 --> 00:09:31,240
HP Visto el precio.

136
00:09:33,430 --> 00:09:34,870
2009 perfecto.

137
00:09:34,960 --> 00:09:40,360
La categoría también la misma y ejecutamos, recuerden que acá dice ejemplo JDBC.

138
00:09:40,480 --> 00:09:46,900
Por lo tanto, si ejecutamos con control chip F10, va a lanzar cierto esta ventana para configurar.

139
00:09:46,960 --> 00:09:51,280
Pero no, en realidad la vamos a cerrar, vamos a ir acá.

140
00:09:51,580 --> 00:09:55,570
Evita configuraciones por acá tenemos que eliminar esto, la eliminamos.

141
00:09:55,670 --> 00:09:56,290
Ok.

142
00:09:57,130 --> 00:10:02,890
Y ahora si podemos ejecutar con control Schiff F10 de origen eita levantando.

143
00:10:06,030 --> 00:10:09,410
Y funciona todo tal cual se fijan lista listar.

144
00:10:09,530 --> 00:10:16,590
Pide una conexión del pool, obtener por ahí también y cada una ocupa esta conexión, luego la libera

145
00:10:16,740 --> 00:10:19,890
y el pulsen encarga siempre de manejar esta conexiones.

146
00:10:20,280 --> 00:10:26,670
Acá creamos 1 bruto HP Omen con el precio bueno y todo lo demás.

147
00:10:26,850 --> 00:10:27,390
Nada más.

148
00:10:27,420 --> 00:10:29,490
Continuamos en la siguiente clase.
