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 >
