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 tiger
O 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