Propriedades de Configuração do Contêiner EJB Integrável
Use as seguintes propriedades de configuração para o contêiner Enterprise JavaBeans (EJB) integrável.
Propriedade | Tipo | Valor padrão | Descrição |
---|---|---|---|
com.ibm.websphere.ejbcontainer.cacheSize | java.lang.Long | 2 053 | Número de depósitos para o cache EJB. |
com.ibm.websphere.ejbcontainer.cacheSweepInterval | java.lang.Long | 3 000 | Tempo entre os tempos de acesso do cache EJB para determinar se as entradas devem ser removidas. |
com.ibm.websphere.ejbcontainer.inactivePoolCleanupInterval | java.lang.Long | 30 000 | Tempo em milissegundos que o encadeamento de limpeza aguarda antes de limpar o conjunto inativo. |
com.ibm.websphere.ejbcontainer.passivationDir | java.lang.String | <TempDir> | Diretório no qual os beans stateful são apassivados. O usuário deve ter acesso de leitura e de gravação no diretório especificado. |
com.ibm.websphere.embeddable.configFileName | java.lang.String | <CurrentWorkingDirectory> /embeddable.properties | Nome de um arquivo de propriedades que contém propriedades de
contêiner EJB integrável. Quando esse arquivo é processado, cada propriedade é
transmitida para o contêiner EJB recém-criado como se fossem passados
programaticamente. Quaisquer propriedades no arquivo de configuração são
substituídas pelas propriedades passadas programaticamente.
Atenção: Também é possível especificar essa
propriedade como uma propriedade do sistema na linha de comandos.
|
A tabela a seguir contém as propriedades de configuração para origens de dados. Cada propriedade é específica para uma origem de dados individual que permite configurar várias origens de dados com configurações diferentes. Substitua <data_source_id> por um termo exclusivo que identifique a origem de dados a ser configurada. Algumas propriedades são listadas como necessárias para cada origem de dados.
Propriedade | Tipo | Descrição |
---|---|---|
DataSource.<data_source_id>.name | java.lang.String | Necessário. A sequência Java™ Naming and Directory Interface (JNDI) que o contêiner usa para ligar esta origem de dados em um namespace global do contêiner incorporável. Essa sequência deve corresponder à sequência de consulta JNDI usada no aplicativo. |
DataSource<data_source_id>.className | java.lang.String | Necessário. O nome de classe Java da classe de origem de dados. Para fins de teste, o Apache Derby poderá ser usado se app_server_root/derby/lib/derby.jar estiver no caminho de classe da Java Virtual Machine. As classes de origem de dados suportadas para o Apache Derby são org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource and org.apache.derby.jdbc.EmbeddedXADataSource. |
DataSource.<data_source_id>.connectionSharing | java.lang.String | A política para compartilhamento de conexões. Os valores válidos são MatchOriginalRequest (padrão), MatchCurrentState ou None. MatchOriginalRequest significa que uma solicitação de conexão poderá ser compartilhada se ela corresponder originalmente às configurações solicitadas de uma conexão existente. MatchCurrentState significa que uma solicitação de conexão poderá ser compartilhada se ela corresponder às configurações atuais de uma conexão existente. Nenhum significa que várias solicitações de conexão não compartilham a mesma conexão. |
DataSource.<data_source_id>.databaseName | java.lang.String | O nome do banco de dados ao qual essa origem de dados se conecta. |
DataSource.<data_source_id>.isolationLevel | java.lang.Integer | O nível de isolamento de transação para conexões a partir
dessa origem de dados. Se não for especificado, o padrão será fornecido pelo
driver JDBC ou pelo banco de dados. Os valores válidos são 1 para Leitura Não Confirmada, 2 para Leitura Confirmada, 4 para Leitura Repetida ou 8 para Serializável. Esses valores são provenientes de constantes no java.sql.Connection e estão sujeitos a mudanças. |
DataSource.<data_source_id>.maxIdleTime | java.lang.Integer | O número de segundos após os quais o conjunto de conexões pode fechar uma conexão incomum. |
DataSource.<data_source_id>.maxPoolSize | java.lang.Integer | O número máximo de conexões que são criadas para essa origem de dados. Depois que esse número de conexões simultâneas estiverem em uso, solicitações futuras para obter uma conexão a partir dessa origem de dados são bloqueadas até que uma ou mais das conexões em uso forem retornadas para o conjunto. |
DataSource.<data_source_id>.maxStatements | java.lang.Integer | O número máximo de instruções em cache pelo conjunto de conexões. Esse valor é dividido pelo valor maxPoolSize para determinar o número de instruções que podem ser armazenadas em cache para cada conexão no conjunto. Um valor 0 desativa o armazenamento em cache da instrução. |
DataSource.<data_source_id>.minPoolSize | java.lang.Integer | O número mínimo de conexões a serem mantidas no conjunto de conexões para essa origem de dados. Se nenhuma conexão estiver em uso, o conjunto de conexões poderá descartar conexões até que o tamanho do conjunto atinja essa configuração. Essa configuração deve ser não negativa. |
DataSource.<data_source_id>.password | java.lang.String | Senha para o usuário fornecido quando acessar o banco de dados. Tal como a propriedade anterior, essa propriedade poderá ser omitida se o banco de dados não tiver a segurança ativada ou se o nome do usuário e a senha forem fornecidos programaticamente quando criar a conexão. |
DataSource.<data_source_id>.transactional | java.lang.Boolean | Especifica se essa origem de dados deve ser listada nas transações do Java Transaction API (JTA). Os valores válidos são true (padrão) ou false. |
DataSource.<data_source_id>.user | java.lang.String | Nome do usuário para acessar o banco de dados. Essa propriedade poderá ser omitida se o banco de dados não tiver a segurança ativada ou se o nome do usuário e a senha forem fornecidos programaticamente quando criar a conexão. |
DataSource.<data_source_id>.<vendor_property_name _or_connection_pool_property_name> | java.lang.String | Também é possível configurar outras propriedades:
|
DataSource.<data_source_id>.xaRecoveryPassword | java.lang.String | Aplica-se apenas às origens de dados XA. Senha para a recuperação do XA. |
DataSource.<data_source_id>.xaRecoveryUser | java.lang.String | Aplica-se apenas às origens de dados XA. Alguns bancos de dados requerem um usuário com privilégios especiais para a recuperação XA. Use essa propriedade para especificar um nome do usuário para recuperação do XA em vez do usuário padrão. |
Use as seguintes propriedades para configurar duas origens de dados.
DataSource.ds1.name=env/jdbc/ds1
DataSource.ds1.className=org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource
DataSource.ds1.transactional=true
DataSource.ds1.createDatabase=create
DataSource.ds1.databaseName=jtest1
DataSource.ds1.user=dbuser1
DataSource.ds1.password=dbpwd1
DataSource.ds1.maxPoolSize=5
DataSource.ds2.name=env/jdbc/ds2
DataSource.ds2.className=org.apache.derby.jdbc.EmbeddedXADataSource
DataSource.ds2.connectionSharing=MatchOriginalRequest
DataSource.ds2.createDatabase=create
DataSource.ds2.databaseName=jtest2
DataSource.ds2.user=dbuser2
DataSource.ds2.password=dbpwd2
DataSource.ds2.maxPoolSize=10
DataSource.ds2.minPoolSize=1
DataSource.ds3.name=env/jdbc/ds3
DataSource.ds3.className=com.ibm.db2.jcc.DB2XADataSource
DataSource.ds3.driverType=4
DataSource.ds3.databaseName=DB2COPY1
DataSource.ds3.serverName=mydb2.test.ibm.com
DataSource.ds3.portName=50000
DataSource.ds3.user=dbuser1
DataSource.ds3.password=dbpwd1
A primeira origem de dados, ds1, está limitada ao namespace do nome, env/jdbc/ds1, e fornece um conjunto de conexões para até cinco conexões com um banco de dados Apache Derby. A segunda origem de dados, ds2, está limitada ao namespace em env/jdbc/ds2 e fornece conjunto de conexões compatível com XA com um banco de dados Apache Derby.
- <app> pelo nome do aplicativo.
O nome do aplicativo é, por padrão, a sequência vazia. Entretanto o nome do aplicativo pode ser especificado usando a propriedade EJBContainer.APP_NAME ao chamar createEJBContainer.
- <module> pelo nome do módulo.
O nome do módulo é especificado em ejb-jar.xml como <module-name>, é o nome do arquivo JAR sem o sufixo ".jar", ou é o nome do diretório contendo o módulo.
- <ejb> pelo nome do EJB.
O nome do EJB é especificado em ejb-jar.xml como <ejb-name>, ou usando o elemento de nome ao usar anotações; por exemplo @Stateless(name="TestBean"). Se nenhum nome for especificado na anotação EJB, o nome de classe simples é usado; por exemplo TestBean para a classe com.ibm.test.TestBean.
- <interceptor> pelo nome de uma classe de interceptor.
- <ref> pelo nome da referência de recurso, referência EJB ou entrada do ambiente.
A referência pode ser especificada em ejb-jar.xml; por exemplo, <res-ref-name>jdbc/mydsref</res-ref-name> ou <ejb-ref-name>java:module/env/myejbref</ejb-ref-name>. De forma alternativa, a referência pode ser especificada usando uma anotação; por exemplo @Resource(name="jdbc/mydsref") ou @EJB(name="java:module/env/myenvref").
Se um nome do aplicativo não for especificado ao lançar o contêiner incorporável, a <app> deve ser omitida. Porém, você deve usar o delimitador #. Por exemplo Bean.#<module>#<bean>.ResourceRef.BindingName.
Propriedade | Tipo | Descrição |
---|---|---|
Bean.<app>#<module>#<ejb>.ResourceRef.BindingName.<ref> ou Interceptor.<app>#<module>#<interceptor>.ResourceRef.BindingName.<ref> | java.lang.String | A sequência JNDI a ser usada quando a referência do recurso estiver consultada ou injetada. Isso deve ser o nome de JNDI para uma origem de dados configurada. |
Bean.<app>#<module>#<ejb>.EJBRef.BindingName.<ref-name> ou Interceptor.<app>#<module>#<interceptor>.EJBRef.BindingName.<ref> | java.lang.String | A sequência JNDI a ser usada quando a referência EJB estiver consultada ou injetada. Isso deve ser uma sequência JNDI java:global, java:app ou java:module de um EJB no contêiner EJB integrável. |
Bean.<app>#<module>#<ejb>.EnvEntry.Value.<ref-name> ou Interceptor.<app>#<module>#<interceptor>.EnvEntry.Value.<ref> | java.lang.String | Um valor a ser usado quando a entrada do ambiente estiver consultada ou injetada. Essa propriedade substitui o valor especificado pelo env-entry-value. O valor deve ser válido para o tipo de entrada do ambiente. |
Bean.<app>#<module>#<ejb>.EnvEntry.BindingName.<ref> ou Interceptor.<app>#<module>#<interceptor>.EnvEntry.BindingName.<ref> | java.lang.String | A sequência JNDI a ser usada quando a entrada do ambiente estiver consultada ou injetada. Isso deve ser uma sequência JNDI java:global, java:app ou java:module de outra entrada do ambiente no mesmo contêiner EJB integrável. |
Bean.<app>#<module>#<ejb>.DataSource.BindingName.<ref> ou Interceptor.<app>#<module>#<interceptor>.DataSource.BindingName.<ref> | java.lang.String | A sequência JNDI a ser usada quando a origem de dados for consultada ou injetada. Isso deve ser um nome JNDI de uma origem de dados configurada ou a sequência JNDI java:global, java:app ou java:module de outra origem de dados no mesmo contêiner EJB integrável. Os desenvolvedores de aplicativos devem usar as referências de recursos em vez de consultar uma origem de dados diretamente. Se um aplicativo estiver codificado para consultar as origens de dados diretamente, poderá usar essa propriedade para substituir as definições de origem de dados incluídas no aplicativo. Consulte o centro de informações para obter mais informações sobre as definições de origem de dados. |
Use as seguintes propriedades para configurar as ligações para um EJB com duas referências e um interceptor com uma entrada de ambiente:
Bean.#TestModule#TestBean.ResourceRef.BindingName.jdbc/dsref=env/jdbc/ds1
Bean.#TestModule#TestBean.EJBRef.BindingName.ejb/Cart=java:global/CartModule/CartBean
Interceptor.#TestModule#com.ibm.example.LoggerInterceptor.EnvEntry.Value.logFile=/tmp/output.log

Bean.#TestModule#TestBean.DataSource.BindingName.java\:module/env/TestDataSource=jdbc/MyDataSource
gotchaPropriedade | Tipo | Valor Padrão | Descrição |
---|---|---|---|
com.ibm.websphere.securityEnabled | java.lang.String | false | Determina se as funções de segurança estão verificadas. Os valores válidos são false (padrão) ou true. Se true, as funções de segurança serão verificadas, se false, as funções de segurança não são verificadas. |
role.<role_name> | java.lang.String | Mapeia uma função EJB para um ou mais usuários. O <role_name> é a função designada a um método, por meio daanotação @RolesAllowed ou do descritor de implementação <method-permission>. O valor é uma sequência de nomes de usuário delimitados por vírgula, por exemplo "bob, mary, john". Os usuários na lista têm permissão para executar métodos que requerem o <role_name>. | |
role.runAs.<role_name> | java.lang.String | Mapeia uma função EJB para um usuário. O <role_name> é uma função designada para um bean ou método, por meio da anotação @RunAs ou do descritor de implementação <run-as>. O valor é um nome do usuário único. O nome do usuário é usado para qualquer autorização que seja necessária pelo bean enquanto ele estiver em execução. | |
user.invocation | java.lang.String | Define o usuário que pode ser usado para autorização quando o bean for chamado. O valor é um nome do usuário único. O contêiner verifica se esse usuário é mapeado para uma função que possa executar qualquer método executado. |
A tabela a seguir contém as propriedades de configuração para o comportamento do Local Transaction Containment (LTC). Para obter uma explicação da LTC, leia sobre a restrição de transação local. Cada propriedade é específica para um bean.
Se um nome do aplicativo não for especificado ao lançar o contêniner incorporável, a <application_name> deve ser omitida. Porém, você deve usar o delimitador #. Por exemplo, Bean.#<module_name>#<bean_name>LocalTransaction.Resolver.
Propriedade | Tipo | Valor padrão | Descrição |
---|---|---|---|
Bean.<application_name>#<module_name>#<bean_name>.LocalTransaction.Resolver | java.lang.String | Aplicativo | Determina a entidade que é responsável para a resolução de transação local. Os valores válidos são Aplicativo (padrão) ou ContainerAtBoundary. |
Bean.<application_name>#<module_name>#<bean_name>.LocalTransaction.UnresolvedAction | java.lang.String | Retroceder | Determina a ação a ser usada para transações locais não resolvidas. Os valores válidos são Retroceder (padrão) ou Confirmar. |
A tabela a seguir contém as propriedades de configuração para o comportamento XA.
Propriedade | Tipo | Valor padrão | Descrição |
---|---|---|---|
com.ibm.websphere.tx.acceptHeuristicHazard | java.lang.String | false | Especifica se o suporte do último participante está ativado para todos os módulos. O valor padrão é false. |
com.ibm.websphere.tx.auditRecovery | java.lang.String | true | Especifica se o processamento da recuperação gera mensagens de auditoria, que indica o processamento de recurso XA e do XID durante a recuperação. Quando nenhuma recuperação de auditoria é especificada, apenas uma única mensagem de recuperação é gerada junto com o número de transações que são recuperadas, a menos que ocorra um erro. |
com.ibm.websphere.tx.clientInactivityTimeout | java.lang.String | 0 | Especifica a duração máxima, em segundos, entre as solicitações de transação. Qualquer período de inatividade do cliente que exceder esse valor de tempo limite resultará no retrocesso da transação. A configuração padrão, 0, significa que nenhum limite existe. |
com.ibm.websphere.tx.enableLoggingForHeuristicReporting | java.lang.String | false | Esta propriedade permite o registro para relatório heurístico. Se o suporte do último participante estiver ativado, o relatório dos resultados heurísticos que podem ocorrer quando o servidor torna-se indisponível requer que informações adicionais sejam gravadas no log de transação. Se ativado, uma gravação de log adicional é concluída para qualquer transação que envolver recursos one-phase e two-phase commit. Nenhum registro adicional é gravado para transações que não envolvem um recurso one-phase commit. |
com.ibm.websphere.tx.heuristicRetryLimit | java.lang.String | 0 | Especifica o número de vezes em que o serviço de transação tenta novamente um sinal de conclusão, como uma confirmação ou retrocesso. As novas tentativas ocorrem após uma exceção temporária a partir de um gerenciador de recursos. O valor padrão, 0, indica nenhum limite para o número de novas tentativas. |
com.ibm.websphere.tx.heuristicRetryWait | java.lang.String | 0 | Especifica o número de segundos que o serviço de transação aguarda antes de tentar novamente um sinal de conclusão, como uma confirmação ou retrocesso, após uma exceção temporária de um gerenciador de recursos. |
com.ibm.websphere.tx.LPSHeuristicCompletion | java.lang.String | ROLLBACK (sem distinção entre maiúsculas e minúsculas) |
A ação de conclusão heurística a ser executada pelo serviço de transação em uma transação com suporte do último participante quando o resultado do recurso one-phase commit for desconhecido. Os valores ROLLBACK ou COMMIT fazem com que os recursos two-phase commit sejam concluídos de acordo. A configuração MANUAL significa que o serviço de transação não usa nenhuma ação e deixa os recursos two-phase commit indeterminados. O valor padrão é ROLLBACK. |
com.ibm.websphere.tx.maximumTransactionTimeout | java.lang.String | 300 | Especifica, em segundos, o limite superior do valor do tempo limite da transação. Esse valor de tempo limite restringe o limite superior de todos os outros valores de tempo limite da transação. |
com.ibm.websphere.tx.totalTranLifetimeTimeout | java.lang.String | 120 | Especifica o tempo máximo padrão, em segundos, permitido para uma transação antes que o serviço de transação inicie o tempo limite. Qualquer transação que não inicie o processamento da conclusão antes deste tempo limite ocorrer é recuperada. |
com.ibm.websphere.tx.tranLogDirectory | java.lang.String | profiles\server name\tranlog | Especifica o nome de um diretório para este servidor no qual o serviço de transações armazena os arquivos de log para recuperação. |
com.ibm.websphere.tx.tranLogSize | java.lang.String | 1024 | Especifica o tamanho, em kilobytes, dos arquivos de registro de transação. O tamanho mínimo do arquivo é de 64 KB. O valor padrão configura o tamanho do arquivo para 1 MB. |