Antes da criação de conexões com o banco de dados certifique-se que as Classes
do drive JDBC devem está acessível pelo classpath. Para isto,
use o arquivo %JOnAS_ROOT%/bin/nt/config_env.bat
.
No arquivo, configure um das seguintes variáveis:
IDB_CLASSES
, ORACLE_CLASSES
,
POSTGRE_CLASSES
or INTERBASE_CLASSES
com o valor apropriado para a instalação do seu banco de dados.
Set MYSQL_CLASSES=C:\mysql\lib\mysql-connector-java-3.0.7-stable-bin.jar
NOTA: Sem a execução deste passo não será possível executar os exemplos contidos neste guia que usam banco de dados.
Lembre-se que o arquivo .jar com o drive tem que está no diretório configurado!
jonas start
Datasource | |
---|---|
Campo | Descrição |
Name | Nome externo do DataSource |
JNDI name | Nome JNDI do DataSource |
Description | Descrição da fonte da dados |
URL | A URL para acesso JDBC do banco de dados: jdbc:<database_vendor_subprotocol>:... |
JDBC Driver | Nome da classe que implementa o driver JDBC |
User name | Nome do usuário de banco de dados |
User password | Senha do usuário de banco de dados |
Mapper | Mapeador usado nesta fonte de dados (necessário apenas para CMP 2.0) | JDBC |
Maximum age | valor inteiro de minutos que a conexão física permanecerá aberta quando inativa. |
Checking level | Nível de checagem de conexão JDBC: 0 = sem checagem 1 = checar antes de usar se a conexão física permanece aberta 2 = testar toda conexão antes de usar |
Test | Comando SQL para ser executado no teste |
Pool minimum | Menor tamanho do pool de conexão Ao iniciar o JOnAS mesmo que não seja necessário será criado este número de conexões. |
Pool maximum | Maior tamanho do pool de conexão. (-1 = sem limite) |
NOTA IMPORTANTE: Os datasources ficam indisponíveis a cada vez que o servidor é encerrado e re-iniciado.
Para torná-lo disponível/indiponível use os botões da pasta Deployments
acionada a partir da ramificação Resources » Database(JDBC).
Para tornar estas conexões permanentes, e não ser necessários refazer estes passos a cada
inicialização, você deve configurar a seção
jonas.service.dbm.datasources
do arquivo %JONAS_ROOT%\conf\jonas.properties
.
veja um exemplo:
jonas.service.dbm.datasources mysqlVendas
Para criar um objeto DataSource identificado no JOnAS como teste_db_jonas e jdbc_teste no JNDI, acessando o banco de dados local MySQL de nome db_jonas preencha-o como segue:
Datasource configuration |
Name | teste_db_jonas | |
JNDI name | jdbc_teste | |
Description | Conexão para teste de exemplo( db_jonas) | |
URL | jdbc:mysql://localhost/db_jonas | |
JDBC Driver | com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource | |
User name | teste | |
User password | testepwd | |
Mapper |
JDBC connection configuration |
Maximum age | 30 | (isto indica que conexões com mais de 30 minutos inativas serão fechadas) | |
Checking level | 1 | (para checar antes de usar se a conexão física está aberta) | |
Test | SELECT 1 | (valor default, comando Sql usado no teste de conexão do banco.) | |
Pool minimum | 5 | (Isto indica que será criado 5 conexões física ao inciar o JOnAS) | |
Pool maximum | 10 | (Isto indica que o número de conexões pode aumentar até 10, caso seja necessário) |
Um objeto DataSource para Oracle (por exemplo, Oracle1), chamado jdbc_1 no JNDI, e usando o Oracle thin JDBC driver, poderia ser configurado como no seguinte exemplo:
Datasource configuration |
Name | Oracle1 | |
JNDI name | jdbc_1 | |
Description | Conexão para teste DB Oracle | |
URL | jdbc:oracle:thin:@malte:1521:ORA1 | |
JDBC Driver | oracle.jdbc.driver.OracleDriver | |
User name | scott | |
User password | tiger | |
Mapper |
Neste exemplo, "malte" é um hostname de um servidor executando um SGBD Oracle, 1521 é o número da porta SQL*Net V2 neste servidor, e ORA1 é o ORACLE_SID.
Este exemplo faz uso do Oracle thin JDBC driver. Se seu servidor de aplicação está executando no mesmo host como SGBD Oracle, você pode usar o Oracle OCI JDBC driver; dependendo da versão do Oracle, a URL para usar isto poderia ser jdbc:oracle:oci7, ou jdbc:oracle:oci8. Os drivers JDBC para Oracle podem ser baixados do site da Oracle.
A cada vez que se configura um novo objeto datasource é criado automaticamente
uma arquivo para guardar estas configurações. Neste exemplo o arquivo ficaria
com o nome Oracle1.properties
e seria armazenado do diretório
$JONAS_ROOT/conf
. O arquivo teria o seguinte
conteúdo:
datasource.name jdbc_1 datasource.url jdbc:oracle:thin:@malte:1521:ORA1 datasource.classname oracle.jdbc.driver.OracleDriver datasource.username scott datasource.password tigerO contrário também pode ser feito, o Administrador do JOnAS pode diretamente criar o arquivo no diretório
$JONAS_ROOT/conf
que o servidor JOnAS irá reconhecê-lo criando a fonte de dados ao ser iniciado.
Para criar um objeto DataSource InstantDB (por exemplo, InstantDB1) chamado jdbc_2 no JNDI, descreva-o como segue (em um arquivo InstantDB1.properties):
datasource.name jdbc_2 datasource.url jdbc:idb=db1.prp datasource.classname jdbc.idbDriver datasource.username useless datasource.password useless
Para criar um objeto DataSource PostGreSQL chamado jdbc_3 in JNDI, no JNDI, descreva-o como segue (em um arquivo PostGreSQL.properties):
datasource.name jdbc_3 datasource.url jdbc:postgresql://your_host/your_db datasource.classname org.postgresql.Driver datasource.username useless datasource.password useless