Se realizan formateos, mantenciones de software, mantenciones al Sistema Operativo, entre otros, (Notebook, Netbook, Tablet´s, PC escritorio.) CONSULTE PRECIOS.
Posted by TecnoServicios on lunes, 16 de noviembre de 2015
Tutorial Configuración pool de conexiones Ubuntu.
Autor: Rodrigo Andres Soto Parra.
Trabajo: Bonus Point nº8.
Curso: Introducción al desarrollo de aplicaciones empresariales.
Profesor: Cristian Ortiz.
Universidad: Catolica de Temuco
Tutorial para la creacion de un pool de conexiones con oracle en Linux.
Como tenemos exportado el ojdbc6.jar ( Debemos tenerlo para correr nuestro servidor de aplicaciones glassfish )
Nos vamos a la siguiente direccion por la terminal:
- /usr/local/glassfish-3.1.2/glassfish/domains/domain1/lib/ext
Ahora copiamos el ojdbc6 en la direccion, pero primero le damos los permisos, esto lo podemos hacer de la siguiente manera:
- chmod 777 /home/<usuario>/desktop/ojdbc6.jar
- cp /home/<usuario>/desktop/ojdb6.jar
Y ahora aplicamos el siguiente comando:
- locate "lib/ext"
Como tenemos exportado el ojdbc6.jar ( Debemos tenerlo para correr nuestro servidor de aplicaciones glassfish )
Nos vamos a la siguiente direccion por la terminal:
- /usr/local/glassfish-3.1.2/glassfish/domains/domain1/lib/ext
Ahora copiamos el ojdbc6 en la direccion, pero primero le damos los permisos, esto lo podemos hacer de la siguiente manera:
- chmod 777 /home/<usuario>/desktop/ojdbc6.jar
- cp /home/<usuario>/desktop/ojdb6.jar
Y ahora aplicamos el siguiente comando:
- locate "lib/ext"
Ahora podemos comenzar con la instalación de nuestro pool de conexiones.
Paso1:
Para comenzar debemos tener corriendo nuestro servidor de aplicaciones
Paso2:
Ahora abrimos alguno de nuestros navegadores (Firefox,Chrome,Opera,etc), aunque de preferencia se recomienda ocupar Mozilla Firefox por su compatibilidad con diferentes aplicaciones web. Luego de esto nos vamos a el puerto donde tenemos configurado nuestro Servidor de Aplicaciones. Para este caso, nosotros ocupamos el puero "8080", entonces nos dirigimos a la siguiente ruta: "http://localhost:8080". En otros casos tambien puede ser la IP local de su ordenador que suele ser "http://127.0.0.1:8080". Recordemos que para NUESTRO caso ocupamos el puerto 8080 ya que nuestro servidor de aplicaciones esta configurado en ese puerto.
Paso3:
Ahora nos dirigimos a donde dice "go to the
Administration Console", que en español se leeria "ir a la
administracion de la consola". Estando dentro nos dirijimos a
"Recursos", luego a "JDBC" para luego ir a "Pool de conexiones". Desde
Ahora en adelante comenzaremos a crear nuestro Pool de conexiones en
Oracle.
Paso4:
Ya estando en Pool de Conexiones, veremos algunos ya creados por default, pero nosotros queremos crear nuestro propio pool, con nuestros parametros y nuestras caracteristicas por lo tanto nos vamos a nuevo o new.
Paso5:
Ahora como nos damos cuenta, comienza la creacion del nuevo pool de conexiones. Para empezar, Colocamos el nombre que le queremos dar a nuestro pool de conexiones. Para nuestro caso le pondremos "EjemploPool", y luego en la parte posterior(Tipo de recurso) seleccionamos la opcion de "javax.sql.ConnectionPoolDataSource" y abajo en "Proveedor de base de datos", la base de datos que vamos a utilizar, para esta ocacion seria "Oracle"(Recordemos que las casillas que no nombramos deben quedar default) y luego presionamos siguiente.
Paso6:
Al apretar siguiente nos saldrá varios campos. Primero, La configuración general, la cual ya realizamos al principio, por ende no debemos cambiar nada. Mas abajo, nos encontramos con la configuración de pool y es aquí donde debemos comenzar a editar la configuración.
- En tamaño Inicial y mínimo designamos la cantidad mínima e inicial de conexiones. Este valor puede ser decidido por ustedes pero lo recomendado son 2.
- Luego tamaño del pool máximo. Esto corresponde al valor máximo de conexiones que puede sostener nuestro pool, como la configuración que estamos haciendo es básica, recomendamos 8.
- Ahora nos encontramos con la cantidad de cambio de tamaño de pool. Esto corresponde a cuantas conexiones se van a eliminar cuando el timeout de inactividad del pool caduque. Recomendado 2
- Timeout de inactividad. Tiempo que una conexión puede mantener sin actividad en el pool. recomendado 300
- Tiempo maximo de espera. Tiempo maximo que se espera para la conexion, antes que se envie un mensaje de timeout. Recomendado 10000.
- En tamaño Inicial y mínimo designamos la cantidad mínima e inicial de conexiones. Este valor puede ser decidido por ustedes pero lo recomendado son 2.
- Luego tamaño del pool máximo. Esto corresponde al valor máximo de conexiones que puede sostener nuestro pool, como la configuración que estamos haciendo es básica, recomendamos 8.
- Ahora nos encontramos con la cantidad de cambio de tamaño de pool. Esto corresponde a cuantas conexiones se van a eliminar cuando el timeout de inactividad del pool caduque. Recomendado 2
- Timeout de inactividad. Tiempo que una conexión puede mantener sin actividad en el pool. recomendado 300
- Tiempo maximo de espera. Tiempo maximo que se espera para la conexion, antes que se envie un mensaje de timeout. Recomendado 10000.
Terminando con esta parte nos metemos a la "Transaccion". Aqui comenzaremos a editar sobre las "Propiedades adicionales".
Debemos tener lo siguiente:
Nombre Valor
ExplicitCachingEnable false
MaxStatements 0
ImplicitCachingEnable false
LoginTimeOut 0
URL jdbc.oracle:thin:@localhost:1521:XE (Donde localhost es la ip del ordenador a conectar. 1521 donde configuramos nuestra base de datos y XE el nombre de la base de datos)
PortNumber 1521 (Puerto de oracle)
DataBaseName XE (Nombre de la base de datos)
DataSourceName OracleConnectionPoolDataSource
NetworkProtocol tcp
ServerName Oracle
User ejemplo (Nombre del usuario de la base de datos)
Password ejemplo123 (Password de la base de datos)
...y presionamos Finalizar (Recordemos que si las propiedades no se encuentran, presionamos agregar propiedad y listo).
Despues de realizar toda la configuracion realizaremos un ping al pool de conexiones si el pool de conexiones esta bien configurado y siguio los pasos correctamente saldra este mensaje.
Aqui presentaremos a continuación un codigo en java que utiliza la conexión a la base de datos ORACLE.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.PooledConnection;
import oracle.jdbc.pool.OracleConnectionPoolDataSource;
public class ConnPool {
public static void main(String[] args) throws Exception {
OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
ocpds.setURL("jdbc:oracle:thin:@192.168.1.150:1521:dpprimera");
ocpds.setUser("soto");
ocpds.setPassword("soto_123");
// caching parms
Properties cacheProps = new Properties();
cacheProps.setProperty("MinLimit", "1");
cacheProps.setProperty("MaxLimit", "2");
cacheProps.setProperty("InitialLimit", "1");
cacheProps.setProperty("ConnectionWaitTimeout", "5");
cacheProps.setProperty("ValidateConnection", "true");
ocpds.setConnectionProperties(cacheProps);
PooledConnection pc_1 = ocpds.getPooledConnection();
Connection conn_1 = pc_1.getConnection();
Statement stmt = conn_1.createStatement();
ResultSet rs = stmt.executeQuery("SELECT count(*) FROM v$session WHERE username = 'SYSTEM'");
rs.next();
String msg = "Total connections after ";
System.out.println(msg + "conn_1: " + rs.getString(1));
Connection conn_2 = pc_1.getConnection();
stmt = conn_2.createStatement();
rs = stmt.executeQuery("SELECT count(*) FROM v$session WHERE username = 'SYSTEM'");
rs.next();
System.out.println(msg + "conn_2: " + rs.getString(1));
PooledConnection pc_2 = ocpds.getPooledConnection();
PooledConnection pc_3 = ocpds.getPooledConnection();
pc_3 = ocpds.getPooledConnection();
rs = stmt.executeQuery("SELECT count(*) FROM v$session WHERE username = 'SYSTEM'");
rs.next();
System.out.println(msg + "pc_2: " + rs.getString(1));
conn_1.close();
conn_2.close();
pc_1.close();
pc_2.close();
}
}
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.PooledConnection;
import oracle.jdbc.pool.OracleConnectionPoolDataSource;
public class ConnPool {
public static void main(String[] args) throws Exception {
OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
ocpds.setURL("jdbc:oracle:thin:@192.168.1.150:1521:dpprimera");
ocpds.setUser("soto");
ocpds.setPassword("soto_123");
// caching parms
Properties cacheProps = new Properties();
cacheProps.setProperty("MinLimit", "1");
cacheProps.setProperty("MaxLimit", "2");
cacheProps.setProperty("InitialLimit", "1");
cacheProps.setProperty("ConnectionWaitTimeout", "5");
cacheProps.setProperty("ValidateConnection", "true");
ocpds.setConnectionProperties(cacheProps);
PooledConnection pc_1 = ocpds.getPooledConnection();
Connection conn_1 = pc_1.getConnection();
Statement stmt = conn_1.createStatement();
ResultSet rs = stmt.executeQuery("SELECT count(*) FROM v$session WHERE username = 'SYSTEM'");
rs.next();
String msg = "Total connections after ";
System.out.println(msg + "conn_1: " + rs.getString(1));
Connection conn_2 = pc_1.getConnection();
stmt = conn_2.createStatement();
rs = stmt.executeQuery("SELECT count(*) FROM v$session WHERE username = 'SYSTEM'");
rs.next();
System.out.println(msg + "conn_2: " + rs.getString(1));
PooledConnection pc_2 = ocpds.getPooledConnection();
PooledConnection pc_3 = ocpds.getPooledConnection();
pc_3 = ocpds.getPooledConnection();
rs = stmt.executeQuery("SELECT count(*) FROM v$session WHERE username = 'SYSTEM'");
rs.next();
System.out.println(msg + "pc_2: " + rs.getString(1));
conn_1.close();
conn_2.close();
pc_1.close();
pc_2.close();
}
}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- sotoparra_main_Blog1_1x1_as -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-2288632847244147"
data-ad-slot="7447933317"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- sotoparra_main_Blog1_1x1_as -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-2288632847244147"
data-ad-slot="7447933317"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Soy seco :)
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminar