Hi,
I'm using jboss 4.0.5. I have XA datasource with oracle 10 as database. I init my application using a start up servlet. In the init method of the servlet I do some queries to database which are done ok. Then in the first time that I try to get a database connection using stateless ejb I see that the jboss is allocate the pool again.
So even that my data source is defined in oracle-xa-ds.xml
<min-pool-size>10</min-pool-size>
<max-pool-size>40</max-pool-size>
I can see in the JCA jmx JBossManagedConnectionPool that
AvailableConnectionCount - 80
ConnectionCount - 20
MinSize - 10
MaxSize - 40
Before getting the connection from ejb
AvailableConnectionCount 40
ConnectionCount is 10.
MinSize - 10
MaxSize - 40
I always get the connection in the same way
(DataSource) ic.lookup("java:/DataSourceDS").getConnection();
The different is the context that I come from, servlet or ejb.
Any idea?
My full data source definition is:
<xa-datasource>
<jndi-name>DataSourceDS</jndi-name>
<track-connection-by-tx/>
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS_LIST=(LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=1.2.3.4)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=1.2.3.5)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=name)))</xa-datasource-property>
<xa-datasource-property name="User">user</xa-datasource-property>
<xa-datasource-property name="Password">password</xa-datasource-property>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<no-tx-separate-pools/>
<blocking-timeout-millis>1111</blocking-timeout-millis>
<min-pool-size>10</min-pool-size>
<max-pool-size>40</max-pool-size>
<idle-timeout-minutes>5</idle-timeout-minutes>
<track-statements>true</track-statements>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<type-mapping>Oracle9i</type-mapping>
</xa-datasource>