Thanks JB.  I am currently using:

<ext:property-placeholder>
   <ext:location>file:etc/DefaultDataSource.cfg</ext:location>
</ext:property-placeholder>

How would I go about using blueprint:cm?

Thanks,

Marc


On Thu, Dec 3, 2015 at 11:33 AM, Jean-Baptiste Onofré <[email protected]>
wrote:

> You can use blueprint:cm to use ConfigAdmin in the blueprint datasource.
>
> Regards
> JB
>
> On 12/03/2015 04:20 PM, Marc Durand wrote:
>
>> Hi JB,
>>
>> I believe it is the connection pool.  I was creating the datasource with
>> blueprint like so:
>>
>>     <bean id="DefaultDataSource"
>> class="com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource">
>>        <property name="serverName" value="${Default.server}" />
>>        <property name="user" value="${Default.username}" />
>>        <property name="password" value="${Default.password}" />
>>     </bean>
>>     <bean id="DefaultDataSourcePool"
>> class="org.apache.commons.dbcp.datasources.SharedPoolDataSource"
>> destroy-method="close">
>>        <property name="connectionPoolDataSource" ref="DefaultDataSource"
>> />
>>        <property name="maxActive" value="${Default.pool.maxActive}" />
>>        <property name="maxIdle" value="${Default.pool.maxIdle}" />
>>        <property name="maxWait" value="${Default.pool.maxWait}" />
>>        <property name="validationQuery"
>> value="${Default.pool.validationQuery}" />
>>     </bean>
>>     <service ref="DefaultDataSourcePool" interface="javax.sql.DataSource">
>>        <service-properties>
>>           <entry key="osgi.jndi.service.name
>> <http://osgi.jndi.service.name>" value="DefaultDataSource" />
>>        </service-properties>
>>     </service>
>>
>> I now know that it is incorrect because that configuration is for the
>> Apache DBCP.  So I changed it to this which works:
>>
>> <bean id="DefaultDataSource"
>> class="com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource">
>>     <property name="serverName" value="${Default.server}" />
>>     <property name="user" value="${Default.username}" />
>>     <property name="password" value="${Default.password}" />
>> </bean>
>> <service ref="DefaultDataSource" interface="javax.sql.DataSource">
>>     <service-properties>
>>        <entry key="osgi.jndi.service.name <http://osgi.jndi.service.name
>> >"
>> value="DefaultDataSource"/>
>>        <entry key="aries.xa.name <http://aries.xa.name>"
>> value="DefaultDataSource" />
>>        <entry key="datasource.name <http://datasource.name>"
>> value="DefaultDataSource"/>
>>        <entry key="aries.xa.poolMaxSize" value="200" />
>>     </service-properties>
>> </service>
>>
>> But, I don't want to hardcode the pool size in the blueprint.xml file.
>> I would like to use config admin and do something like this:
>>
>> <bean id="DefaultDataSource"
>> class="com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource">
>>     <property name="serverName" value="${Default.server}" />
>>     <property name="user" value="${Default.username}" />
>>     <property name="password" value="${Default.password}" />
>> </bean>
>> <service ref="DefaultDataSource" interface="javax.sql.DataSource">
>>     <service-properties>
>>        <entry key="osgi.jndi.service.name <http://osgi.jndi.service.name
>> >"
>> value="DefaultDataSource"/>
>>        <entry key="aries.xa.name <http://aries.xa.name>"
>> value="DefaultDataSource" />
>>        <entry key="datasource.name <http://datasource.name>"
>> value="DefaultDataSource"/>
>>        <entry key="aries.xa.poolMaxSize"
>> value="${Default.aries.xa.poolMaxSize}" />
>>     </service-properties>
>> </service>
>>
>>
>> The Maven bundle plugin complains about it:
>>
>> 003: No translation found for macro:
>> Default.aries.xa.connectionMaxWaitMilliseconds, in -----------------
>> Warnings
>> 000: Unused Private-Package instructions, no such package(s) on the
>> class path: [!*]
>> 001: No translation found for macro: Default.aries.xa.exceptionSorter,
>> in -----------------
>> Warnings
>> 000: Unused Private-Package instructions, no such package(s) on the
>> class path: [!*]
>>
>>
>> And with 4 similar data sources, the build takes over 30 seconds and
>> eventually runs out of memory.  I noticed that those macros (like
>> ${Default.aries.xa.poolMaxSize}) then get included in the MANIFEST.MF
>> file, which is not what I want:
>>
>> Export-Service: javax.sql.DataSource;osgi.jndi.service.name
>> <http://osgi.jndi.service.name>=DefaultDataS
>>   ource;aries.xa.name
>> <http://aries.xa.name>=DefaultDataSource;datasource.name
>> <http://datasource.name>=DefaultDataSource
>>   ;aries.xa.exceptionSorter=${Default.aries.xa.exceptionSorter};aries.xa.
>>   connectionMadIdleMinutes=${Default.aries.xa.connectionMadIdleMinutes};a
>>   ries.xa.connectionMaxWaitMilliseconds=${Default.aries.xa.connectionMaxW
>>   aitMilliseconds};aries.xa.pooling=${Default.aries.xa.pooling};aries.xa.
>>   poolMaxSize=${Default.aries.xa.poolMaxSize};aries.xa.poolMinSize=${Defa
>>   ult.aries.xa.poolMinSize};aries.xa.validateOnMatch=${Default.aries.xa.v
>>   alidateOnMatch};aries.xa.backgroundValidation=${Default.aries.xa.backgr
>>   oundValidation};aries.xa.backgroundValidationMilliseconds=${Default.ari
>>   es.xa.backgroundValidationMilliseconds}
>>
>>
>> So, is it possible to configure a data source in blueprint when using
>> the pax-jdbc-pool-aries where the configuration would be in the etc
>> directory?
>>
>> Thanks in advance,
>> Marc
>>
>>
>> On Thu, Dec 3, 2015 at 12:36 AM, Jean-Baptiste Onofré <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>     Hi Marc,
>>
>>     do you think it's the transaction pool ? Maybe it's the connection
>>     pool ?
>>
>>     For transaction, you can override the default value by creating
>>     etc/org.apache.aries.transaction.cfg file (or using the config:*
>>     commands).
>>
>>     The default values provided by the feature are:
>>
>>                  aries.transaction.recoverable = true
>>                  aries.transaction.timeout = 600
>>                  aries.transaction.howl.logFileDir = ${karaf.data}/txlog
>>                  aries.transaction.howl.maxLogFiles = 2
>>                  aries.transaction.howl.maxBlocksPerFile = 512
>>                  aries.transaction.howl.bufferSize = 4
>>
>>     For the datasource, it depends how you created the datasource.
>>
>>     Did you use the jdbc:* commands to create the datasource ?
>>
>>     Regards
>>     JB
>>
>>
>>     On 12/03/2015 03:57 AM, Marc Durand wrote:
>>
>>         Hello - I am using Karaf 3.0.5 and noticed that I cannot run
>>         more than 10
>>         simultaneous database queries because the pool runs out of
>>         connections.  I
>>         found the limit to be set to 10 in
>>         org.apache.aries.transaction.jdbc-2.1.0.jar
>>
>> (org.apache.aries.transaction.jdbc.internal.ConnectionManagerFactory)
>>         where
>>         I found this line: "private int poolMaxSize = 10;" and also in
>>         ManagedDataSourceFactory class:
>>         "cm.setPoolMaxSize(getInt("aries.xa.poolMaxSize", 10));"
>>
>>         My question is, how can I increase this value?
>>
>>         Thanks,
>>         Marc
>>
>>
>>
>>
>>
>>
>>
>>         --
>>         View this message in context:
>>
>> http://karaf.922171.n3.nabble.com/Aries-pool-max-size-tp4044047.html
>>         Sent from the Karaf - User mailing list archive at Nabble.com.
>>
>>
>>     --
>>     Jean-Baptiste Onofré
>>     [email protected] <mailto:[email protected]>
>>     http://blog.nanthrax.net
>>     Talend - http://www.talend.com
>>
>>
>>
> --
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Reply via email to