Páginas filhas
  • Instalação do Servidor - Server (JBoss versão 4.2.3)
Introdução

O Intellector é uma solução para a gestão de processos decisórios, fornecendo uma interação fácil através de uma linguagem simples e prática. Este manual descreve passa-a-passo o processo de instalação do servidor Intellector para o JBoss Application Server. 

  • Para o manual de instalação do JBoss 7, clique aqui.
Para quem se destina o manual

O público alvo para este manual são administradores de sistemas e application servers, e que tenha bom conhecimento de JBoss e JVM.

O que é necessário para entender esse manual

Este manual assume que os administradores tem familiaridade com os conceitos de administração e deployment do JBoss, Linux ou Windows e Sun JDK.

Pré-requisitos

Como um primeiro passo, verifique e tenha certeza de qual versão do Intellector você deseja instalar ou atualizar. Baseado na versão, você pode determinar a compatibilidade apropriada das versões de JBoss, Linux ou Windows, e Java JDK.

JDK 6.0

Instale a Sun JDK 6.0 apropriada para sua plataforma. As JDKs estão disponíveis no seguinte site: http://java.sun.com/javase/downloads/index.jsp

A versão atual do Intellector SOMENTE funciona com a Java SE Development Kit (JDK) 6 Update 30 ou superior. O Intellector NÃO FUNCIONA com JDK inferior ao Update 07 devido à API do JAXB!

Não é suficiente ter somente o Java Runtime Environment (JRE); você realmente precisa do full-blown JDK.

Não se esqueça de configurar a variável de ambiente JAVA_HOME no seu ambiente, mas, forneceremos um bootstrap pro Intellector, onde essa variável é configurada, mas você pode querer colocá-la em outro lugar; não se esqueça dela! Embora a localização da instalação da JDK seja livre, sugerimos criar uma pasta “<drive>:\opt” no Windows ou usar o “/opt” no Linux; ajuda para propósitos de suporte. Instalando em sistemas Linux, tenha bastante cuidado com as permissões de escrita para owner/group para o diretório do JBoss, pois o Intellector vai precisar escrever nesse diretório.

 

JBoss

O Intellector foi testado nas versões JBoss 4.2.3 e JBoss 7 (7.1.1). Você pode fazer o download do JBoss, para qualquer plataforma do seguinte site: http://www.jboss.org/jbossas/downloads/

Este é um bom lugar para tirar dúvidas e procurar dicas sobre o JBoss… http://wiki.jboss.org/

 

Instalando…

Após instalar a Java JDK e o JBoss nos locais apropriados, faça um pequeno teste de verificação da instalação, subindo o JBoss (JBOSS_HOME/bin/run.sh ou run.bat no Windows); para verificar se tudo foi bem, você estará apto a abrir a url http://localhost:8080/web-console de administração do application server.

Evite instalar JDK e JBoss em diretórios que contenham espaços no nome, como “C:\Arquivo de Programas” do Windows. Conheça mais sobre JBoss Enterprise Application Platform.

 

Bootstrap para JBoss/Intellector

Os scripts de bootstrap para o Intellector são simples, precisando apenas de pequenas modificações no que concerne a memória e variáveis de ambientes. Sugiro usar o nome “run-intellector.sh” no Linux/Unix e “run-intellector.bat” no Windows e, deve ficar emJBOSS_HOME/bin com permissão explícita de execução (básico para os linuxers!)

 

  • no Linux/Unix; observe que coloco explicitamente a versão do JBoss; o ideal é criar um link simbólico e usar somente /opt/jboss e, também uso um IP 192.168.0.185, que provavelmente não será o seu, tanto em testes como em produção!
  • teremos mais abaixo, um arquivo de propriedades usadas pelo Intellector e deve ficar em JBOSS_HOME/bin
  • Não use a variável de ambiente -Duser.dir=seu_dir, pois isso impede o Intellector de compilar as políticas! 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
 
# alguns snipets para o bootstrap do Intellector
export JAVA_OPTS="-Xms512m -Xmx536m -XX:PermSize=128m -XX:MaxPermSize=128m -Xss128k -Dintellector.datadir=/home/jboss/intellector -Dpersistence.configuration=./persistence.properties"
 
# exportar a variavel JBOSS_HOME, devido a compilacao de politicas
export JBOSS_HOME=/opt/jboss-4.2.3.GA
 
# a library log4j deve estar incluido no classpath, inprescindivel na
# compilacao de politicas; simplemente não compila as políticas
export JBOSS_CLASSPATH=$JBOSS_HOME/server/default/lib/log4j.jar
 
# inicia o JBoss numa instancia e IP especificos
./run.sh -c default --host 192.168.0.185


 

No Windows…

 

1
2
3
4
5
6
7
8
9
10
11
12
rem alguns snipets para o bootstrap do Intellector
set JAVA_OPTS=-Xms512m -Xmx536m -XX:PermSize=128m -XX:MaxPermSize=128m -Xss128k -Dintellector.datadir=c:/java/intellector-files
 
rem exportar a variavel JBOSS_HOME, devido a compilacao de politicas
set JBOSS_HOME=c:\java\jboss-4.2.3.GA
 
rem a library log4j deve estar incluido no classpath, inprescindivel na
rem compilacao de politicas; simplemente não compila as políticas
set JBOSS_CLASSPATH=%JBOSS_HOME%\server\default\lib\log4j.jar
 
rem inicia o JBoss numa instancia e IP especificos
./run.bat -c default --host 192.168.0.185

 

Sem a linha JBOSS_CLASSPATH=$JBOSS_HOME/server/default/lib/log4j.jar no bootstrap, o Intellector não compilará as políticas!

 

Área de dados para o Intellector

O Intellector tem uma característica de persistir alguns dados no File System da plataforma, seja persistência em XML (JAXB), seja dos plugins de acessos, políticas e layouts de políticas. Esse local de persistência, é um diretório ou uma árvore de diretórios. Você pode verificar, que no arquivo de bootstrap, existe uma variável intellector.datadir que deve apontar para um diretório válido, onde ocorrerá a persistência e o site criará o restante dos diretórios; veja uma árvore de diretórios criada pelo Intellector abaixo:

 

Nunca MODIFIQUE NADA nos diretórios abaixo de intellector.datadir! 

  • considerando intellector.datadir=/home/intellector como diretório raiz…
    1. /home/intellector/acessos – diretório de instalação dos plugins de acesso; o Intellector cria uma pasta para cada acesso;
    2. /home/intellector/key – diretório para as licenças do Intellector;
    3. /home/intellector/dados – diretório raiz para persistência de cadastros (usuários, perfis, plugins, auditorias, etc.)
    4. /home/intellector/dados/person – persistência de usuários cadastrados
    5. /home/intellector/dados/audit – persistência de auditoria de execução de políticas (intellector.auditpolicy=true/false)
    6. /home/intellector/dados/plugin – persistências dos dados dos plugins instalados
    7. /home/intellector/dados/layouts – persistências de todos os layouts das políticas
    8. /home/intellector/dados/policy – persistências de todos as políticas enviadas do servidor
    9. /home/intellector/politicas – onde serão mantidas as classes das políticas compiladas
    10. /home/intellector/politicas/classes
    11. /home/intellector/politicas/classes/br
    12. /home/intellector/politicas/classes/br/com
    13. /home/intellector/politicas/classes/br/com/tools
    14. /home/intellector/politicas/classes/br/com/tools/politicas
    15. /home/intellector/tarifacao – pasta para os arquivos de Tarifação
  • Se houver necessidade de fazer uma “purga” nesse datadir, baixe a instância ou instâncias se o datadir for compartilhado, deixe apenas a pasta key com a licença e, suba novamente a(s) instância(s); pronto, o Intellector reconstruirá o datadir com as configurações básicas.

 

Instalando uma Licença para o Intellector

O Intellector trabalha com 3 (três) modelos de licenciamento, enterprise, limited e trial; essas licenças estarão contidas em um único arquivo nomeado intellector.key (outro nome não será reconhecido) que deverá ser colocado no diretório ${intellector.datadir}/key; ela poderá ser copiada para esse local a qualquer momento, não necessitando de qualquer intervenção no servidor. 

  • Tipos de licenças:
    1. enterprise – totalmente livre para execução de qualquer política sem data de expiração
    2. limited – determinada por um Tipo específico e uma data de expiração ou não
    3. trial – Tipos de políticas livres e com uma data de expiração

 

Deployment do Intellector no JBoss 

Considerando que o item instalando o JBoss foi seguido, o próximo passo será o deployment (instalação) do pacote intellector.war em uma instância do JBoss.

 

Sigamos os passos… 

  • copiar intellector.war dentro do diretório deploy
  • se for uma atualização de versão, simplesmente remova o intellector.war, ANTES de extrair a nova versão; é boa prática excluir as pastas log, tmp e work, situado abaixo da instância, no caso JBOSS_HOME/server/default/log, tmp,… se quiser, pode guardar os logs, tmp e work; você não irá precisar deles.
  • Se for atualização, siga o sugerido acima.

 

Saiba mais sobre estruturas de diretórios do JBoss.

 

Iniciando o JBoss

Se tudo foi bem, e os passos foram seguidos, iniciar o JBoss é a parte trivial; no diretórioJBOSS_HOME/bin, inicie o batch, simplesmente digitando ./run-intellector.sh (linux/unix) ou run.bat no Windows; abaixo o início e fim do bootstrap do JBoss: 

  • iniciando…

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
=========================================================================
 
  JBoss Bootstrap Environment
 
  JBOSS_HOME: /opt/jboss-4.2.3.GA
 
  JAVA: /opt/jdk1.6.0_10/bin/java
 
  JAVA_OPTS: -Dprogram.name=run.sh -server -Xms512m -Xmx536m -XX:PermSize=128m -XX:MaxPermSize=128m -Xss128k -Dintellector.datadir=/home/jboss/intellector-files -Djava.net.preferIPv4Stack=true
 
  CLASSPATH: /opt/jboss-4.2.3.GA/server/default/lib/log4j.jar:/opt/jboss-4.2.3.GA/bin/run.jar:/opt/jdk1.6.0_10/lib/tools.jar
 
=========================================================================
 
17:25:25,676 INFO  [Server] Starting JBoss (MX MicroKernel)...
17:25:25,708 INFO  [Server] Release ID: JBoss [Trinity] 4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)
17:25:25,710 INFO  [Server] Home Dir: /opt/jboss-4.2.3.GA
17:25:25,710 INFO  [Server] Home URL: file:/opt/jboss-4.2.3.GA/

 

pronto pra atender requisições…

 

1
2
3
4
5
17:26:05,961 INFO  [intellector] -----------------------------------------------------------
17:26:05,962 INFO  [intellector] --------- Intellector configurado com sucesso... ----------
17:26:05,962 INFO  [intellector] -----------------------------------------------------------
17:26:06,146 INFO  [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
17:26:07,318 INFO  [Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] Started in 21s:602ms


 

Configurações adicionais

Normalmente, ajustes adicionais, ou tuning, dependem de plataforma, número de requisições, escalabilidade, multi-ip, dentre outras; a mais comum é alterar a porta onde o container irá atender, default é a 8080. Outros casos, como HTTPS ou load balancer, envolvendo o Apache, devem ser analisadas e não fazem parte do escopo desse manual.

 

Configurando Pool de Conexões – JNDI 
  • Os datasources são configurados em arquivos xxx-ds.xml (onde xxx pode ser qualquer nome) que deverão ser inseridos no diretório deploy do servidor da aplicação. No exemplo usando JBoss estão em: C:\java\jboss-4.2.3.GA\server\default\deploy).

 

Exemplo datasource Oracle…

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <local-tx-datasource>
    <jndi-name>jdbc/OracleDS</jndi-name>
    <connection-url>jdbc:oracle:thin:@192.168.0.149:1521:oralin</connection-url>
    <!--
    Here are a couple of the possible OCI configurations.
 
    <connection-url>jdbc:oracle:oci:@youroracle-tns-name</connection-url>
        or
    <connection-url>jdbc:oracle:oci:@(description=(address=(host=youroraclehost)(protocol=tcp)(port=1521))(connect_data=(SERVICE_NAME=yourservicename)))</connection-url>
 
    Clearly, its better to have TNS set up properly.
     -->
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>cartao_h</user-name>
    <password>uma_senha_qualquer</password>
    <!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
    <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
    <!-- Checks the Oracle error codes and messages for fatal errors -->
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
    <!-- sql to call when connection is created
    <new-connection-sql>some arbitrary sql</new-connection-sql>
    -->
    <!-- sql to call on an existing pooled connection when it is obtained from pool - the OracleValidConnectionChecker is prefered
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
    -->
    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
    <metadata>
       <type-mapping>Oracle10g</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>


 

Exemplo datasource PostgreSQL 9.x

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
    <no-tx-datasource>
        <jndi-name>intellector/totvs</jndi-name>
        <connection-url>jdbc:postgresql://localhost:5432/postgres</connection-url>
        <driver-class>org.postgresql.Driver</driver-class>
        <user-name>postgres</user-name>
        <password>esqueci_me_dela</password>
 
        <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
        <min-pool-size>1</min-pool-size>
        <!-- The maximum connections in a pool/sub-pool -->
        <max-pool-size>30</max-pool-size>      
    </no-tx-datasource>
</datasources>

 

Exemplo datasource SqlServer2008…

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
 <no-tx-datasource>
    <jndi-name>jdbc/tools</jndi-name>
    <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
    <user-name>totvs</user-name>
    <password>ops_esqueci!</password>
    <!--pooling parameters-->
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>30</max-pool-size>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>15</idle-timeout-minutes>
    <new-connection-sql>select 1</new-connection-sql>
    <check-valid-connection-sql>select 1</check-valid-connection-sql>
    <set-tx-query-timeout></set-tx-query-timeout>
    <metadata>
        <type-mapping>MS SQLSERVER2008</type-mapping>
    </metadata>
 </no-tx-datasource>
</datasources>

 

  • Além disso, também deverão ser colocados no diretório$JBOSS_HOME/server/[instance]/lib, os arquivos “.jar” referentes ao driver do banco de dados (ex : C:\java\jboss-4.2.3.GA\server\default\lib) 
  • Baixe o Driver JNDI para o SQLServer aqui. 
  • Baixe o Driver JNDI para o Oracle aqui.

 

Ao configurar um arquivo de conexão com Banco de Dados no JBoss (JNDI), o Servidor de aplicação subentende que o pool de conexões será gerenciado por ele, podendo trazer instabilidade para as conexões do Intellector Server.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2010-08-04 11:32:01,665 ERROR  [org.jboss.resource.connectionmanager.CachedConnectionManager] Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.jdk5.WrappedConnectionJDK5@13b3c2c
java.lang.Throwable: STACKTRACE
    at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:290)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:423)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:849)
    at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
    at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:92)
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
    at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
    at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
    at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
    at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1463)
    at br.com.totvs.persistence.factory.ConnectionFactory.beginTransaction(ConnectionFactory.java:194)
    at br.com.totvs.persistence.factory.ConnectionFactory.getSession(ConnectionFactory.java:165)
    at br.com.tools.intellector.api.persistence.PersistenceUtil.expungeDatabase(PersistenceUtil.java:87)
    ...
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:619)


 

Para persistir filas JMS podemos escolher o BD padrão ou configurar outro

O Banco de Dados padrão para o JBoss persistir dados da fila JMS (Queue) é o Hypersonic, tendo limitações para grandes volumes; para trocar a persistência para outro Banco de Dados, siga os passos abaixo: 

  • Apagar o arquivo hsqldb-ds.xml da pasta JBOSS_HOME/server/[instance]/deploy
  • Copiar o respectivo arquivo correspondente ao DB que será usado deJBOSS_HOME/docs/examples/jca/*-ds.xml para a pasta deploy de sua instância
  • Alterar o jndi-name no arquivo *-ds.xml para no nome correspondente
  • Apagar o arquivo hsqldb-jdbc2-service.xml da pastaJBOSS_HOME/server/default/jms
  • Copiar o arquivo de gerência de persistência *-jdbc2-service.xml deJBOSS_HOME/docs/examples/jms para a pasta JBOSS_HOME/server/[instance]/jms
  • Alterar o nome do jndi no arquivo *-jdbc2-service.xml para o mesmo nome de jndi-name, contido no *-ds.xml (e.g. “DefaultDS”): jboss.jca:service=DataSourceBinding,name=DefaultDS
  • Renomear hsqldb-jdbc-state-service.xml para o nome do respectivo DB *-jdbc-state-service.xml, as configurações opcionais deixe como estão
  • Copiar o Driver de conexão (JDBC) para  a pasta  JBOSS_HOME/server/[instance]/lib

 

Pronto, agora a persistência  dos dados da fila JMS serão persistidas na tabela jms_message, como área temporária. Uma vez consumidas as mensagens, elas serão deletadas.

 

Intellector-EAR 

Intellector-EAR é a produto de persistência do Intellector Server, monitorando um fila (queue) no Servidor de Aplicação onde os dados das execuções de políticas e plugins de acessos é enviada para serem persistidas no banco de dados. 

Para instalar o Intellector-EAR:

No JBoss: Basta colocar na pasta deploy (ex : C:\java\jboss-4.2.3.GA\server\default\deploy\) do Servidor de Aplicação.
Baixe o Intellector-EAR aqui.

 

Configurando a “fila” do Intellector 

No Servidor de aplicação na pasta “(ex : C:\java\jboss-4.2.3.GA\server\default\deploy\jms\jbossmq-destinations-service.xml)”, neste arquivo contém as configurações das filas que o servidor disponibiliza para as aplicações conversarem entre si.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="UTF-8"?>
   ...
  <mbean code="org.jboss.mq.server.jmx.Queue"
     name="jboss.mq.destination:service=Queue,name=A">
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  </mbean>
  <mbean code="org.jboss.mq.server.jmx.Queue"
     name="jboss.mq.destination:service=Queue,name=B">
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  </mbean>
  <mbean code="org.jboss.mq.server.jmx.Queue"
     name="jboss.mq.destination:service=Queue,name=C">
     <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  </mbean>
  <mbean code="org.jboss.mq.server.jmx.Queue"
     name="jboss.mq.destination:service=Queue,name=D">
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  </mbean>
  <mbean code="org.jboss.mq.server.jmx.Queue"
     name="jboss.mq.destination:service=Queue,name=ex">
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  </mbean>
  <mbean code="org.jboss.mq.server.jmx.Queue"
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  </mbean>
 
</server>

 

Neste arquivo somente deve ser incluído a fila do Intelletor caso o Administrador do Servidor de Aplicação deseje que o Intellector não ocupe uma fila que poderá ser utilizada por outras aplicações. Neste caso deve-se incluir:

 

1
2
3
4
<mbean code="org.jboss.mq.server.jmx.Queue"
   <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
 </mbean>

 

Para que o Intellector possa monitorar uma fila própria. Para configurar a Fila que o Intellector irá monitorar o Intellector possui um arquivo de configuração para as persistências de dados explicado mais adiante. 

 

Arquivo persistence.properties 

Para utilização da persistência de acessos no Intellector na primeira execução antes da utilização do cache, deverá ser copiado o arquivo de configuração persistence.properties para o diretório $JBOSS_HOME/bin, como descrito abaixo.

O Intellector ultiliza a API de persistência Hibernate de forma que este arquivo também serve para mapear as configurações mais eficazes para utilização da API.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#persistence.properties
#Fri Feb 03 13:52:26 BRST 2012
 
### Define se o intellector utilizará banco de dados para persistência dos dados de acessos e políticas
intellector.usesdatabase=true
 
### Nome da fila utilizada pelo MDB (Não pode ser alterado)
persistence.queue.name=queue/intellector
 
### Connection Factory
persistence.queue.connection.factory=QueueConnectionFactory
 
### Context Factory
persistence.jndi.context.factory=org.jboss.security.jndi.JndiLoginInitialContextFactory
 
### Endereço da fila JMS
persistence.jndi.address=jnp://192.168.18.129:1099
 
### Emails de aviso de erro na fila de tarifação, separados por virgula, de preferência sem espaço
 
### Credenciais de conexão na fila Usuário/Senha
persistence.jndi.security.principal=
persistence.jndi.security.credentials=
 
### Parâmetros do Hibernate do Cache e Auditoria ###
####################################################
## Endereço JNDI da conexão
hibernate.connection.datasource=java:intellector/totvs
# dialetos suportados pelo Intellector
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
#hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect
#hibernate.dialect=br.com.totvs.persistence.dialectfix.Oracle9iDialectFix
#hibernate.dialect=br.com.totvs.persistence.dialectfix.Oracle10gDialectFix
 
### auto schema export
hibernate.hbm2ddl.auto=update
 
### Delimitador de comandos específico do Banco de dados utilizado
hibernate.hbm2ddl.delimiter=;
 
### cache
#hibernate.cache.provider_class=org.hibernate.hibernate.NoCacheProvider
hibernate.use_second_level_cache=false
hibernate.max_fetch_depth=1
hibernate.cache.use_minimal_puts=true
hibernate.use_query_cache=false
 
### hibernate only
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.use_sql_comments=true
hibernate.generate_statistics=true
hibernate.jdbc.batch_versioned_data=true
hibernate.session_factory_name=sessionFactory
hibernate.current_session_context_class=thread
 
### connection
hibernate.connection.release_mode=after_transaction
hibernate.connection.autocommit=false
 
## transaction controll
hibernate.transaction.flush_before_completion=false
hibernate.transaction.auto_close_session=false
#hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup

 

Importante  ressaltar que as variáveis:

 

1
2
hibernate.connection.datasource
hibernate.dialect

 

Se referem ao banco de dados onde serão armazenadas as informações de cache e auditoria. Os bancos homologados para essas funcionalidades foram Oracle 10g e 11g, SQL Server 2008 e PostgreSQL 9.x

 

Bibliotecas de infraestrutura para o Intellector 

O intellector tem sua infraestrutura baseadas numa série de bibliotecas e frameworksdisponíveis no mercado, além das próprias. Essas bibliotecas devem ser colocadas no CLASSPATH do Servidor de Aplicação. Normalmente criamos um diretório dentro da instância nomeado intellector-lib, distribuído e disponível para download. No JBoss, para que elas fiquem disponíveis, consideramos que a pasta com as bibliotecas estejam em$JBOSS_HOME/server/[instance]/conf/jboss-service.xml, como abaixo

 

1
2
3
4
5
6
<!-- Load all jars from the JBOSS_DIST/server/<config>/lib directory. This
  can be restricted to specific jars by specifying them in the archives
  attribute.
 -->
<classpath codebase="${jboss.server.lib.url:lib}" archives="*"/>
<classpath codebase="intellector-lib" archives="*"/>


 

O versionamento dessas bibliotecas acompanham o mesmo do Intellector.  Entretanto, e isso é muito importante, algumas bibliotecas que vem como default na instância do$JBOSS_HOME/[instance]/lib, que conflitam com as mais atualizadas do $JBOSS_HOME/[instance]/intellector-lib, que precisam ser removidas, são elas:

  • dom4j
  • ejb3-persistence
  • hibernate3
  • hibernate-annotations
  • hibernate-entitymanager

Pronto!

  • Sem rótulos