geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Köhler <Kristian.Koeh...@dmc.de>
Subject AW: How to change the ActiveMQ DataSource?
Date Thu, 22 Nov 2007 07:08:49 GMT
Hi David

> The j2eeType and interface expected are part of the original  
> GBeanInfo reference info and must be getting into the original  
> abstract name query.  When we construct the replacement 
> abstract name  
> query from config.xml we need to find that info and include it just  
> as the original ANQ did.  I don't think we need any more xml 
> elements  
> in config.xml.

Aaahh ok. ;-) I look into it...

Kristian

> 
> thanks
> david jencks
> 
> On Nov 21, 2007, at 12:15 PM, Kristian Köhler wrote:
> 
> > 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=n 
> >>> et.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,JCAManagedCon 
> >>> 
> nectionFactory=MyDatasource,JCAResource=net.sourceforge.gaswerk.asse 
> >>> mblies/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