You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Ricardo Barretto <Ri...@state.co.us> on 2006/03/22 15:31:01 UTC
Deploying services & spring configuration files
I have created one service, like loan-broker, when I want to deploy to
servicemix, I generate a SA.zip with jbi.xml and a SU.zip, and inside
this SU I have my classes and a servicemix.xml(listed below).
I would like to define a datasource in a global location inside
servicemix, so if I deploy my service in my servicemix-DEV environment,
the datasource would point to my DEV database, not to my workstation or
to the PROD environment. How can I do it? I have tried putting the
database definition on the servicemix.xml at the conf directory, but it
gave me Class not found exception.
I was also wondering if we could have a configuration file with the
services and other with application specific spring/hibernate
definitions.
Thank you all in advance, Ricardo
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:lb="http://childsupport.state.co.us/cse/disbursement-component"
xmlns:em="http://childsupport.state.co.us/cse/email-component">
<classpath>
<location>.</location>
</classpath>
<sm:serviceunit id="jbi">
<sm:activationSpecs>
<!-- In/out binding -->
<sm:activationSpec componentName="disbursementComponentJmsBinding"
destinationService="lb:disbursement-component">
<sm:component>
<bean
class="org.apache.servicemix.components.jms.JmsServiceComponent">
<property name="template">
<bean class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsFactory" />
<property name="defaultDestinationName"
value="childsupport.state.co.us.disbursement.queue" />
<property name="pubSubDomain" value="false" />
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
<!-- Disbursement Message Broker -->
<sm:activationSpec componentName="disbursementComponent"
service="lb:disbursement-component">
<sm:component>
<bean
class="gov.colorado.cse.disbursement.component.DisbursementBPELComponent"
/>
</sm:component>
</sm:activationSpec>
<!-- Parent Component -->
<sm:activationSpec componentName="parentComponent"
service="lb:parentComponent">
<sm:component>
<bean
class="gov.colorado.cse.party.component.ParentComponent">
<property name="businessObject"><ref
local="personBusinessObject"/></property>
</bean>
</sm:component>
</sm:activationSpec>
<!-- Email Component -->
<sm:activationSpec componentName="emailComponent"
service="em:emailComponent">
<sm:component>
<bean
class="org.apache.servicemix.components.email.MimeMailSender">
<property name="sender">
<bean
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="165.127.151.2"/>
<property name="username" value="0csecse14"/>
<property name="password" value="cse2web"/>
<property name="port" value="25"/>
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:serviceunit>
<!-- Datasources -->
<bean id="eCseDS" class="org.apache.commons.dbcp.BasicDataSource">
<property
name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property
name="url"><value>jdbc:mysql://localhost:3306/database</value></property>
<property name="username"><value>user</value></property>
<property name="password"><value>password</value></property>
</bean>
<!-- Application specific definitions -->
<bean id="eCseHibernateProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<!--<prop key="hibernate.hbm2ddl.auto">update</prop>-->
<prop
key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.query.substitutions">true 'T', false
'F'</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.c3p0.minPoolSize">5</prop>
<prop key="hibernate.c3p0.maxPoolSize">15</prop>
<prop key="hibernate.c3p0.timeout">600</prop>
<prop key="hibernate.c3p0.max_statement">10</prop>
<prop key="hibernate.c3p0.testConnectionOnCheckout">false</prop>
</props>
</property>
</bean>
<!-- Hibernate SessionFactory -->
<bean id="exampleSessionFactory"
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource"><ref local="eCseDS"/></property>
<property name="hibernateProperties">
<ref bean="eCseHibernateProperties" />
</property>
<!-- Must references all OR mapping files. -->
<property name="mappingResources">
<list>
<value>Siteuser.hbm.xml</value>
</list>
</property>
</bean>
<!-- Pass the session factory to our SiteuserDAO -->
<bean id="siteuserDAOTarget"
class="gov.colorado.cse.party.dao.hibernate.SiteuserDAOImpl">
<property name="sessionFactory"><ref
local="exampleSessionFactory"/></property>
</bean>
<!-- Entirex Broker -->
<bean id="acsesBroker" class="gov.colorado.cse.party.mao.AcsesBroker"
init-method="logon" destroy-method="logoff">
<property name="broker"><ref bean="acsesBroker.broker"/></property>
<property name="password"><value>BTCHNR</value></property>
</bean>
<!-- Entirex Broker - RPCServices -->
<bean id="personMAO" class="gov.colorado.cse.party.mao.PersonMAO"
depends-on="acsesBroker">
<property name="broker"><ref bean="acsesBroker.broker"/></property>
<property
name="serverAddress"><value>RPC/EAACSES/CALLNAT</value></property>
</bean>
<bean id="webUserMAO" class="gov.colorado.cse.party.mao.WebUserMAO"
depends-on="acsesBroker">
<property name="broker"><ref bean="acsesBroker.broker"/></property>
<property
name="serverAddress"><value>RPC/EAACSES/CALLNAT</value></property>
</bean>
<!-- Person Wrapper -->
<bean id="personWrapperTarget"
class="gov.colorado.cse.party.mao.wrapper.PersonMAOWrapper">
<property name="mao"><ref bean="personMAO"/></property>
</bean>
<!-- Web USer Wrapper -->
<bean id="webUserWrapperTarget"
class="gov.colorado.cse.party.mao.wrapper.WebUserMAOWrapper">
<property name="mao"><ref bean="webUserMAO"/></property>
</bean>
<!-- Person Business Object -->
<bean id="personBusinessObject"
class="gov.colorado.cse.party.bo.PersonBO">
<property name="siteuserDAOImpl"><ref
bean="siteuserDAOTarget"/></property>
<property name="webUserWrapper"><ref
bean="webUserWrapperTarget"/></property>
<property name="personWrapper"><ref
bean="personWrapperTarget"/></property>
</bean>
<bean id="jmsFactory"
class="org.apache.activemq.pool.PooledConnectionFactory">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" />
</bean>
</property>
</bean>
</beans>