geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Köhler <Kristian.Koeh...@gmx.de>
Subject Re: How to change the ActiveMQ DataSource?
Date Wed, 21 Nov 2007 20:15:56 GMT
Hi

> I suspect a bug in the local attribute manager reference override.  Note 
> that the 3 (or more?) gbeans it found all have different j2eeType which 
> makes me think there's something missing from the reference pattern 
> setup in LAM.  Fixing the bug would be great :-), opening a jira next 
> best, and meanwhile deploying your own broker plan should work.

Ok, ok... I will try to fix it ;-) But how to specify the reference?
I think an easy way would be to add a 'generic' definition like this:

--- 8< --- (start)

<reference name="dataSource">
      <pattern>
        <name>MyDatasource</name>
        <j2eeType>Something</j2eeType>
        <someAtt>foo</someAtt>
      </pattern>
</reference>

--- 8< --- (end)

Currently only the elements: groupId, artifactId, version, type, module 
and name are allowed. There are no other 'name parts' available.

Other definition syntax might be:

--- 8< --- (start)

<reference name="dataSource">
      <pattern>
        <nameMap>
	  <name>MyDatasource</name>
	  <j2eeType>Something</j2eeType>
	  <someAtt>foo</someAtt>
        </nameMap>
      </pattern>
</reference>

--- 8< --- (end)

This would break existing configs :-(

Kristian

> 
> If you want to shift the entire server to using mysql you can put a 
> couple lines in artifact_aliases.properties to switch system-database to 
> your database.  As long as your datasources are named the same as in 
> system-database everything should work.
> 
> thanks
> david jencks
> 
> On Nov 20, 2007, at 4:01 AM, Kristian Köhler wrote:
> 
>> Hi
>>
>> I'm trying to reconfigure the DataSource used by the ActiveMQ broker 
>> service (from derby to mysql). For that I created a DataSource config 
>> (CAR) with a simple plan pointing to my MySQL Database. The 
>> configuration for the database works fine. I can access the Connection 
>> Pool and execute SQL statements... ;-)
>>
>> Here is my db plan file:
>>
>> --- 8< --- plan.xml --- (start)
>> <connector 
>> xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-${geronimoSchemaVersion}">

>>
>>     <resourceadapter>
>>         <outbound-resourceadapter>
>>             <connection-definition>
>>                 
>> <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>

>>
>>                 <connectiondefinition-instance>
>>                     <name>MyDatasource</name>
>>                     <config-property-setting 
>> name="Driver">com.mysql.jdbc.Driver</config-property-setting>
>>                     <config-property-setting 
>> name="ConnectionURL">jdbc:mysql://localhost:3306/ode</config-property-setting>

>>
>>                     <config-property-setting 
>> name="UserName">root</config-property-setting>
>>               <connectionmanager>
>>                 <local-transaction/>
>>                         <single-pool>
>>                             <max-size>100</max-size>
>>                             
>> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>>                             <select-one-assume-match/>
>>                         </single-pool>
>>                     </connectionmanager>
>>                 </connectiondefinition-instance>
>>             </connection-definition>
>>         </outbound-resourceadapter>
>>     </resourceadapter>
>> </connector>
>> --- 8< --- plan.xml --- (end)
>>
>> I have also added a dependency to my database CAR from the ActiveMQ 
>> config and "recompiled" the configuration.
>>
>> But when I specify the "database reference" within the 
>> ActiveMQBrokerGBean (config.xml) I'm getting the following exception: 
>> "More than one match to referencePatterns in parent configurations"
>>
>> --- 8< --- config.xml --- (start)
>>
>>     <gbean name="ActiveMQ">
>>         <attribute name="useShutdownHook">false</attribute>
>>         <attribute name="dataDirectory">var/activemq</attribute>
>>         <reference name="dataSource">
>>                 <pattern>
>>                     <name>MyDatasource</name>
>>                 </pattern>
>>         </reference>
>>     ...
>>
>> --- 8< --- config.xml --- (end)
>>
>> --- 8< --- full exception --- (start)
>>
>> Caused by: org.apache.geronimo.kernel.GBeanNotFoundException: More 
>> than one match to referencePatterns in parent configurations: 
>> [net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car?J2EEApplication=null,JCAResource=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,ResourceAdapter=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,ResourceAdapterModule=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,j2eeType=JCAConnectionFactory,name=MyDatasource,

>> net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car?J2EEApplication=null,JCAConnectionFactory=MyDatasource,JCAResource=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,ResourceAdapter=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,ResourceAdapterModule=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,j2eeType=JCAManagedConnectionFactory,name=MyDatasource,

>> net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car?J2EEApplication=null,JCAConnectionFactory=MyDatasource,JCAManagedConnectionFactory=MyDatasource,JCAResource=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,ResourceAdapter=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,ResourceAdapterModule=net.sourceforge.gaswerk.assemblies/gaswerk-my-database/0.9.2-SNAPSHOT/car,j2eeType=JCAConnectionManager,name=MyDatasource]:

>> [?name=MyDatasource#]
>>
>> --- 8< --- full exception --- (start)
>>
>> How do I have to specify this reference? Is this possible to do it 
>> that way??
>> Or do I have to use an (external) activemq.xml file?
>>
>> Thanks
>>
>>
>> Kristian
>>
>>
>>
>> -- 
>> GASwerk SOA Stack
>> http://gaswerk.sourceforge.net
> 

Mime
View raw message