You can use these advanced connector configuration options:
Connectors can submit work instances to the GlassFish Server for execution. By default, the GlassFish Server services work requests for all connectors from its default thread pool. However, you can associate a specific user-created thread pool to service work requests from a connector. A thread pool can service work requests from multiple resource adapters. To create a thread pool:
In the Administration Console, select Thread Pools under the relevant configuration. For details, click the Help button in the Administration Console.
Use the asadmin create-threadpool command. For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
To associate a connector with a thread pool:
In the Administration Console, open the Applications component and select Resource Adapter Configs. Specify the name of the thread pool in the Thread Pool ID field. For details, click the Help button in the Administration Console.
Use the ----threadpoolid option of the asadmin create-resource-adapter-config command. For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
If you create a resource adapter configuration for a connector module that is already deployed, the connector module deployment is restarted with the new configuration properties.
Create a security map for a connector connection pool to map an application principal or a user group to a back end EIS principal. The security map is usually used in situations where one or more EIS back end principals are used to execute operations (on the EIS) initiated by various principals or user groups in the application.
To create or update security maps for a connector connection pool:
In the Administration Console, open the Resources component, select Connectors, select Connector Connection Pools, and select the Security Maps tab. For details, click the Help button in the Administration Console.
Use the asadmin create-connector-security-map command. For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
If a security map already exists for a connector connection pool, the new security map is appended to the previous one. The connector security map configuration supports the use of the wildcard asterisk (*) to indicate all users or all user groups.
When an application principal initiates a request to an EIS, the GlassFish Server first checks for an exact match to a mapped back end EIS principal using the security map defined for the connector connection pool. If there is no exact match, the GlassFish Server uses the wild card character specification, if any, to determined the mapped back end EIS principal.
A work security map for a resource adapter maps an EIS principal or group to a application principal or group. A work security map is useful in situations where one or more application principals execute operations initiated by principals or user groups in the EIS. A resource adapter can have multiple work security maps. A work security map can map either principals or groups, but not both.
To create a work security map, use the asadmin create-connector-work-security-map command. For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
The work security map configuration supports the wildcard asterisk (*) character to indicate all users or all user groups. When an EIS principal sends a request to the GlassFish Server, the GlassFish Server first checks for an exact match to a mapped application principal using the work security map defined for the resource adapter. If there is no exact match, the GlassFish Server uses the wild card character specification, if any, to determine the application principal.
You can override the properties (config-property elements) specified in the ra.xml file of a resource adapter:
In the Administration Console, open the Resources component and select Resource Adapter Configs. Create a new resource adapter configuration or select an existing one to edit. Then enter property names and values in the Additional Properties table. For details, click the Help button in the Administration Console.
Use the asadmin create-resource-adapter-config command to create a configuration for a resource adapter. Use this command’s ----property option to specify a name-value pair for a resource adapter property. For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
You can specify configuration properties either before or after resource adapter deployment. If you specify properties after deploying the resource adapter, the existing resource adapter is restarted with the new properties.
You can test a connector connection pool for usability in one of these ways:
In the Administration Console, open the Resources component, open the Connector component, select Connection Pools, and select the connection pool you want to test. Then select the Ping button in the top right corner of the page. For details, click the Help button in the Administration Console.
Use the asadmin ping-connection-pool command. For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
Both these commands fail and display an error message unless they successfully connect to the connection pool.
You can also specify that a connection pool is automatically tested when created or reconfigured by setting the Ping attribute to true (the default is false) in one of the following ways:
Enter a Ping value in the Connector Connection Pools page in the Administration Console. For more information, click the Help button in the Administration Console.
Specify the ----ping option in the asadmin create-connector-connection-pool command. For more information, see the Oracle GlassFish Server 3.0.1 Reference Manual.
Flushing a connector connection pool recreates all the connections in the pool and brings the pool to the steady pool size without the need for reconfiguring the pool. Connection pool reconfiguration can result in application redeployment, which is a time-consuming operation. Flushing destroys existing connections, and any existing transactions are lost and must be retired.
You can flush a connector connection pool in one of these ways:
In the Administration Console, open the Resources component, open the Connector component, select Connection Pools, and select the connection pool you want to flush. Then select the Flush button in the top right corner of the page. For details, click the Help button in the Administration Console.
Use the asadmin flush-connection-pool command. For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
If a resource adapter generates a ConnectionErrorOccured event, the GlassFish Server considers the connection invalid and removes the connection from the connection pool. Typically, a resource adapter generates a ConnectionErrorOccured event when it finds a ManagedConnection object unusable. Reasons can be network failure with the EIS, EIS failure, fatal problems with the resource adapter, and so on.
If the fail-all-connections setting in the connection pool configuration is set to true, and a single connection fails, all connections are closed and recreated. If this setting is false, individual connections are recreated only when they are used. The default is false.
The is-connection-validation-required setting specifies whether connections have to be validated before being given to the application. If a resource’s validation fails, it is destroyed, and a new resource is created and returned. The default is false.
The prefer-validate-over-recreate property specifies that validating idle connections is preferable to closing them. This property has no effect on non-idle connections. If set to true, idle connections are validated during pool resizing, and only those found to be invalid are destroyed and recreated. If false, all idle connections are destroyed and recreated during pool resizing. The default is false.
You can set the fail-all-connections, is-connection-validation-required, and prefer-validate-over-recreate configuration settings during creation of a connector connection pool. Or, you can use the asadmin set command to dynamically reconfigure a setting. For example:
asadmin set server.resources.connector-connection-pool.CCP1.fail-all-connections="true" asadmin set server.resources.connector-connection-pool.CCP1.is-connection-validation-required="true" asadmin set server.resources.connector-connection-pool.CCP1.property.prefer-validate-over-recreate="true" |
For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
The interface ValidatingManagedConnectionFactory exposes the method getInvalidConnections to allow retrieval of the invalid connections. The GlassFish Server checks if the resource adapter implements this interface, and if it does, invalid connections are removed when the connection pool is resized.
According to the Connector specification, while an application server shuts down, all resource adapters should be stopped. A resource adapter might hang during shutdown, since shutdown is typically a resource intensive operation. To avoid such a situation, you can set a timeout that aborts resource adapter shutdown if exceeded. The default timeout is 30 seconds per resource adapter module. To configure this timeout:
In the Administration Console, select Connector Service under the relevant configuration and edit the shutdown Timeout field. For details, click the Help button in the Administration Console.
Use the following asadmin set command:
asadmin set server.connector-service.shutdown-timeout-in-seconds="num-secs" |
For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
The GlassFish Server deactivates all message-driven bean deployments before stopping a resource adapter.
Use the class-loading-policy setting to determine which resource adapters accessible to applications. Allowed values are:
derived — Applications access resource adapters based on references in their deployment descriptors. These references can be resource-ref, resource-env-ref, resource-adapter-mid, or equivalent annotations.
global — All stand-alone resource adapters are available to all applications.
To configure this setting, use the asadmin set command. For example:
asadmin set server.connector-service.class-loading-policy="global" |
For details, see the Oracle GlassFish Server 3.0.1 Reference Manual.
Transactions that involve multiple resources or multiple participant processes are distributed or global transactions. A global transaction can involve one non-XA resource if last agent optimization is enabled. Otherwise, all resources must be XA. For more information about transactions in the GlassFish Server, see Chapter 15, Using the Transaction Service.
The Connector specification requires that if a resource adapter supports XATransaction, the ManagedConnection created from that resource adapter must support both distributed and local transactions. Therefore, even if a resource adapter supports XATransaction, you can configure its connector connection pools as non-XA or without transaction support for better performance. A non-XA resource adapter becomes the last agent in the transactions in which it participates.
The value of the connection pool configuration property transaction-support defaults to the value of the transaction-support property in the ra.xml file. The connection pool configuration property can override the ra.xml file property if the transaction level in the connection pool configuration property is lower. If the value in the connection pool configuration property is higher, it is ignored.
To disable connection pooling, set the Pooling attribute to false. The default is true. You can enable or disable connection pooling in one of the following ways:
Enter a Pooling value in the Connector Connection Pools page in the Administration Console. For more information, click the Help button in the Administration Console.
Specify the ----pooling option in the asadmin create-connector-connection-pool command. For more information, see the Oracle GlassFish Server 3.0.1 Reference Manual.