Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="properties" ref="configProperties" /> </bean> <bean id="config" class="org.kuali.rice.core.config.spring.ConfigFactoryBean"> <property name="configLocations"> <list> <value>classpath:edu/ucdavis/embedded/config/embedded-client-config.xml</value> </list> </property>

Project Directories

  1. Create a directory where you will store working copies of files to be checked out from Subversion, such as <PATH>/subversion

Checkout Sample Embedded Client Project

  1. Navigate to <PATH>/subversion
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
titleClient Database ConfigurationInitial Setup
borderStylesolid

Setup

a local rice database using the standard impex process
  • Setup a client database for the recipe sample application using impex.
  • Panel
    borderColor#87CEFA
    bgColor#FFFFFF
    titleBGColor#87CEFA
    titleSpring Configuration
    borderStylesolid
    Code Block
    titleSpringBeans.xml
    borderStylesolid
    Code Block
    borderStylesolid
    
    [<PATH>/subversion]$ svn co https://mware.ucdavis.edu/svn/kuali/RiceApplications/sample-embedded-client/trunk/sample-embedded-client
    

    Checkout the Kuali Impex Tool

    Code Block
    borderStylesolid
    
    [<PATH>/subversion]$ svn co https://test.kuali.org/svn/kul-cfg-dbs/trunk
    
    Info

    This creates a directory <PATH>/subversion/trunk. To make the directory structure more readable, rename trunk to kul-cfg-dbs.


    Checkout the Sample Embedded Client Database Configuration Files

    Code Block
    borderStylesolid
    
    [<PATH>/subversion]$ svn co https://test.kuali.org/svn/rice-cfg-dbs/rice-client-db/branches/rice-release-1-0-0-br
    
    Info

    This creates a directory <PATH>/subversion/rice-release-1-0-0-br. To make the directory structure more readable, rename rice-release-1-0-0-br to rice-client-db.


    Prepare Database Import Configuration

    1. Copy <PATH>/subversion/kul-cfg-dbs/impex/impex-build.properties to <HOME>/impex-build.properties
    2. Set the following property values in /wiki/spaces/UCDK/pages/119111688:

      Property

      Sample Value

      svn.module

      rice-cfg-dbs

      svn.base

      branches/rice-release-1-0-0-br

      torque.schema.dir

      <PATH>/subversion/rice-client-db

      drivers.directory

      <path to your client database JDBC driver> Use forward slashes, even in Windows!!!

      import.torque.database.url

      jdbc:oracle:thin:@<DB Host>.ucdavis.edu:1521:<DB SID>

      import.torque.database.user

      <user you will log in as> SYS, schema, etc.

      import.torque.database.schema

      <SCHEMA> Must be in UPPER CASE

      import.torque.database.password

      <password>


    Set Environment Variables

    1. Navigate to <HOME>/subversion/kul-cfg-dbs/impex
    2. Set JAVA_HOME
      Code Block
      borderStylesolid
      
      [<PATH>/subversion/kul-cfg-dbs/impex]$ export JAVA_HOME=<path to Java>
      
    3. Set the classpath
      Code Block
      borderStylesolid
      
      [<PATH>/subversion/kul-cfg-dbs/impex]$ export classpath=<PATH>/subversion/kul-cfg-dbs/impex/lib
      

    Execute the Database Import

    • If you're starting with a blank database:
      Code Block
      borderStylesolid
      
      [<PATH>/subversion/kul-cfg-dbs/impex]$ ant import
      
    • If you're adding to an existing database:
      1. Code Block
        borderStylesolid
        
        [<PATH>/subversion/kul-cfg-dbs/impex]$ ant create-ddl
        
      2. Code Block
        borderStylesolid
        
        [<PATH>/subversion/kul-cfg-dbs/impex]$ ant dataxml-to-sql
        
      3. Navigate to <PATH>/subversion/rice-client-db/sql and execute the generated SQL statements.
      4. Navigate to <PATH>/subversion/rice-client-db/datasql and execute the generated SQL statements.
    Tip

    If you are updating the Database Configuration Files project from Kuali's Subversion repository and updating your client Rice database structure, delete <PATH>/subversion/rice-cfg-dbs/sql and /datasql subdirectories before running ant import, ant create-ddl, or ant dataxml-to-sql.

    Panel
    borderColor#87CEFA
    bgColor#FFFFFF
    titleBGColor#87CEFA
    titleSpring Configuration
    borderStylesolid
    Code Block
    title~/sample-embedded-client/src/main/resources/edu/sampleu/embedded/config/SpringBeans.xml
    borderStylesolid
    
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    	<property name="properties" ref="configProperties" />
    </bean>
    
    <bean id="config" class="org.kuali.rice.core.config.spring.ConfigFactoryBean">
    	<property name="configLocations">
    		<list>
    			<value>classpath:edu/ucdavis/embedded/config/embedded-client-config.xml</value>
    		</list>
    	</property>
    </bean>
    	
    <bean id="configProperties" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    	<property name="targetObject" ref="config" />
    	<property name="targetMethod" value="getProperties" />
    </bean>
    
    <bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean">
    	<property name="defaultTimeout" value="${transaction.timeout}"/>
    </bean>
    	
    <bean id="configPropertiesjtaTransactionManager" class="org.springframework.beanstransaction.factoryjta.config.MethodInvokingFactoryBeanJtaTransactionManager">
    	<property name="targetObjecttransactionManager" ref="configjotm" />
    	<property name="targetMethoduserTransaction" valueref="getPropertiesjotm" />
    </bean>
    
    <bean id="jotmdataSource" class="org.kuali.springframeworkrice.transactioncore.jtadatabase.JotmFactoryBeanXAPoolDataSource">
    	<property name="defaultTimeouttransactionManager" valueref="${transaction.timeout}"jotm" />
    </bean>
    	
    <bean<property idname="jtaTransactionManagerdriverClassName" classvalue="org${datasource.springframework.transaction.jta.JtaTransactionManager"driver.name}" />
    	<property name="transactionManagerurl" refvalue="jotm"${datasource.url}" />
    	<property name="userTransactionmaxSize" refvalue="jotm"${datasource.pool.size}" />
    </bean>
    
    <bean id	<property name="dataSourceminSize" classvalue="org.kuali.rice.core.database.XAPoolDataSource"${datasource.initialSize}" />
    	<property name="transactionManagermaxWait" refvalue="jotm${datasource.pool.maxWait}" />
    	<property name="driverClassNamevalidationQuery" value="${datasource.driverpool.namevalidationQuery}" />
    	<property name="urlusername" value="${datasource.urlusername}" />
    	<property name="maxSizepassword" value="${datasource.pool.size}" /password}" />
    </bean>
    
    <bean id="nonTransactionalDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    	<property name="minSizedriverClassName" value="${datasource.initialSizedriver.name}" />
    	<property name="maxWaiturl" value="${datasource.pool.maxWaiturl}" />
    	<property name="validationQuerymaxActive" value="${datasource.pool.validationQuerymaxActive}" />
    	<property name="usernameminIdle" value="${datasource.usernameminIdle}" />
    	<property name="passwordinitialSize" value="${datasource.password}" />
    </bean>
    
    <bean id="nonTransactionalDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"initialSize}" />
    	<property name="driverClassNamevalidationQuery" value="${datasource.driverpool.namevalidationQuery}" />
    	<property name="urlusername" value="${datasource.urlusername}" />
    	<property name="maxActivepassword" value="${datasource.pool.maxActivepassword}" />
    	<property name="minIdleaccessToUnderlyingConnectionAllowed" value="${datasource.minIdleaccessToUnderlyingConnectionAllowed}" />
    </bean>
    
    <bean id="standaloneDataSource" class="org.kuali.rice.core.database.XAPoolDataSource">
    	<property name="initialSizetransactionManager" valueref="${datasource.initialSize}jotm" />
    	<property name="validationQuerydriverClassName" value="${datasource.pooldriver.validationQueryname}" />
    	<property name="usernameurl" value="${standalone.datasource.usernameurl}" />
    	<property name="passwordmaxSize" value="${datasource.pool.passwordsize}" />
    	<property name="accessToUnderlyingConnectionAllowedminSize" value="${datasource.accessToUnderlyingConnectionAllowedinitialSize}" />
    </bean>
    
    <bean id	<property name="standaloneDataSourcemaxWait" classvalue="org${datasource.kuali.rice.core.database.XAPoolDataSource"pool.maxWait}" />
    	<property name="transactionManagervalidationQuery" refvalue="jotm${datasource.pool.validationQuery}" />
    	<property name="driverClassNameusername" value="${standalone.datasource.driver.nameusername}" />
    	<property name="urlpassword" value="${standalone.datasource.urlpassword}" />
    	<property name
    </bean>
    
    <bean id="maxSizerice" valueclass="${datasource.pool.size}" /org.kuali.rice.core.config.RiceConfigurer">
    	<property name="minSizedataSource" valueref="${datasource.initialSize}dataSource" />
    	<property name="nonTransactionalDataSource" ref="maxWaitnonTransactionalDataSource" value="${datasource.pool.maxWait}" />
    	<property name="serverDataSource" ref="standaloneDataSource"/>
    	<property name="validationQuerytransactionManager" valueref="${datasource.pool.validationQuery}jotm" />
    	<property name="usernameuserTransaction" valueref="${standalone.datasource.username}jotm" />
    	<property name="passwordserviceNamespace" value="${standalone.datasource.password}RSEC" />
    </bean>
    
    <bean id	<property name="riceenvironment" classvalue="org.kuali.rice.core.config.RiceConfigurer"dev" />
    	<property name="dataSourcerootConfig" ref="dataSourceconfig" />
    	<property name="nonTransactionalDataSourceksbConfigurer">
    ref="nonTransactionalDataSource"/>
    		<bean class="org.kuali.rice.ksb.messaging.config.KSBConfigurer">
    			<property name="serverDataSourceserviceServletUrl" refvalue="standaloneDataSource${serviceServletUrl}" />
    		</bean>
    	</property>
    	<property name="transactionManagerkewConfigurer">
    ref="jotm" />
    		<bean class="org.kuali.rice.kew.config.KEWConfigurer">
    			<property name="userTransactionclientProtocol" refvalue="jotmlocal" />
    		</bean>
    	</property>
    	<property name="serviceNamespaceknsConfigurer">
    		<bean valueclass="RSEC" />org.kuali.rice.kns.config.KNSConfigurer"/>
    	</property>
    	<property name="environment" value="dev" /kimConfigurer">
    	<property name="rootConfig" ref="config" />		<bean class="org.kuali.rice.kim.config.KIMConfigurer"/>
    	</property>
    	<property name="ksbConfigurerkcbConfigurer">
    		<bean class="org.kuali.rice.ksb.messagingkcb.config.KSBConfigurerKCBConfigurer"/>
    	</property>
    		<property name="serviceServletUrladditionalSpringFiles" value="${serviceServletUrl}" />
    		</bean>
    	</property>
    	<property name="kewConfigurer">
    		<bean class="org.kuali.rice.kew.config.KEWConfigurer">
    			<property name="clientProtocol" value="local" />
    		</bean>
    	</property>
    	<property name="knsConfigurer">
    		<bean class="org.kuali.rice.kns.config.KNSConfigurer"/>
    	</property>
    	<property name="kimConfigurer">
    		<bean class="org.kuali.rice.kim.config.KIMConfigurer"/>
    	</property>
    	<property name="kcbConfigurer">
    		<bean class="org.kuali.rice.kcb.config.KCBConfigurer"/>
    	</property>
    	<property name="additionalSpringFiles">
    		<list>
    			<value>classpath:edu/ucdavis/iet/kuali/rice/kim/config/UCDKIMSpringBeans.xml</value>
    		</list>
    	</property>
    </bean>
    </beans>
    
    Panel
    borderColor#87CEFA
    bgColor#FFFFFF
    titleBGColor#87CEFA
    titleRice Configuration
    borderStylesolid
    Code Block
    titleembedded-client-config.xml
    borderStylesolid
    
    <config>>
    		<list>
    			<value>classpath:edu/ucdavis/iet/kuali/rice/kim/config/UCDKIMSpringBeans.xml</value>
    		</list>
    	</property>
    </bean>
    </beans>
    
    Panel
    borderColor#87CEFA
    bgColor#FFFFFF
    titleBGColor#87CEFA
    titleRice Configuration
    borderStylesolid
    Code Block
    title~/sample-embedded-client/src/main/resources/edu/sampleu/embedded/config/sample-embedded-client-config.xml
    borderStylesolid
    
    <config>
    	<!-- LDAP Settings -->
    	<param name="ldap.url">ldaps://ldap.ucdavis.edu</param>
    	<param name="ldap.base">ou=People,dc=ucdavis,dc=edu</param>
    	<param name="ldap.pool">true</param>
    	<param name="ldap.user">uid=my_ldap_uid,ou=Special Users,dc=ucdavis,dc=edu</param>
    	<param name="ldap.password">my_ldap_password</param>
    		
    	<!-- Client Database Settings -->
    	<param name="datasource.ojb.platform">MySQL</param>
    	<param name="datasource.platform">org.kuali.rice.core.database.platform.MySQLPlatform</param>
    	<param name="ldapdatasource.url">ldaps>jdbc:mysql://ldap.ucdavis.edu<localhost:3306/MyDB</param>
    	<param name="ldapdatasource.driver.base">ou=People,dc=ucdavis,dc=edu<name">com.mysql.jdbc.Driver</param>
    	<param name="ldapdatasource.pool.validationQuery">true<>select 1</param>
    	<param name="ldapdatasource.pool.user">${ldap.user}<maxWait">30000</param>
    	<param name="ldapdatasource.pool.password">${ldap.password}<size">30</param>
    		
    	<param name="datasource.ojbpool.platformmaxActive">Oracle9i<>50</param>
    	<param name="datasource.platform">org.kuali.rice.core.database.platform.OraclePlatform</param>
    	minIdle">7</param>
    	<param name="datasource.url">${client.datasource.url}<initialSize">7</param>
    	<param name="datasource.username">${client.accessToUnderlyingConnectionAllowed">true</param>
    	<param name="datasource.username}<">embeddeduser</param>
    	<param name="datasource.password">${client.datasource.password}<>embeddedpassword</param>
    	
    	<!--  Rice Standalone Database Settings -->
    	<param name="standalone.datasource.url">${standalone.datasource.url}<ojb.platform">Oracle9i</param>
    	<param name="standalone.datasource.username">${standalone.datasource.username}<platform">org.kuali.rice.core.database.platform.OraclePlatform</param>
    	<param name="standalone.datasource.password">${standalone.datasource.password}<url">jdbc:oracle:thin:@dbhost.ucdavis.edu:1521:SID</param>
    	
    	<param name="standalone.datasource.driver.name">oracle.jdbc.driver.OracleDriver</param>
    	<param name="standalone.datasource.pool.validationQuery">select 1 from dual</param>
    	<param name="standalone.datasource.pool.maxWait">30000</param>
    	<param name="standalone.datasource.pool.size">30</param>
    	<param name="standalone.datasource.pool.maxActive">50</param>
    	<param name="standalone.datasource.minIdle">7</param>
    	<param name="standalone.datasource.initialSize">7</param>
    	<param name="standalone.datasource.minIdleaccessToUnderlyingConnectionAllowed">7<>true</param>
      	<param name="standalone.datasource.initialSizeusername">7<>riceuser</param>
     	<param name="standalone.datasource.accessToUnderlyingConnectionAllowedpassword">true<>ricepassword</param>
    	
    	<!--  log4j Settings -->
    	<param name="log4j.reload.minutes">5</param>
    	<param name="log4j.settings.path">classpath:META-INF/log4j.properties</param>
    
    	<!--  Bus Configuration  -->
    	<param name="dev.mode">false</param>
    	<param name="message.persistence">true</param>
    	<param name="message.delivery">async</param>
    	<param name="Routing.ImmediateExceptionRouting">true</param>
    	<param name="RouteQueue.timeIncrement">60000</param>
    	<param name="RouteQueue.maxRetryAttempts">6</param>
    
    	<!--  Quartz Configuration   -->-->
    	<param name="useQuartzDatabase">true</param>
    	<param name="ksb.org.quartz.scheduler.instanceName">Embedded KSB Scheduler</param>
    	<param name="useQuartzDatabase">true<ksb.org.quartz.scheduler.instanceId">AUTO</param>
    <!--	<param name="ksb.org.quartz.schedulerjobStore.instanceName">Embedded KSB Scheduler</param>
    tablePrefix">KRSB_QRTZ_</param>-->
    <!--	<param name="ksb.org.quartz.schedulerjobStore.instanceIdisClustered">AUTO<>true</param>-->
    	<param name="ksb.org.quartz.threadPool.threadCount">5</param>
    	<param name="ksb.org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</param>
    
    	<!--  Workflow Upload Configuration (for stand-alone)  -->
    	<param name="data.xml.pollIntervalSecs">30</param>
    	<param name="initialDelaySecs">10</param>
    	<param name="simpleDocumentActionsService.security">true</param>
    	<param name="secure.workflowdocument.javaservice.endpoint">true</param>
    	<param name="secure.workflowutility.javaservice.endpoint">true</param>
    	<param name="keystore.file">security/rice.keystore</param>
    	<param name="keystore.alias">rice</param>
    	<param name="keystore.password">r1c3pw</param>
    	
    	<param name="transaction.timeout">600</param>param>
    	<!-- Standalone Server URL -->
    	<param name="serviceServletUrl">${standalone.server.url}>http://ricehost.ucdavis.edu/rice-context/remoting</param>
    	
    	<!-- XML ingester directories -->
    	<param name="data.xml.root.location">/opt/ears/${environment}/en/xml</param>
    	<param name="data.xml.pending.location">${data.xml.root.location}pending</param>
    	<param name="data.xml.loaded.location">${data.xml.root.location}loaded</param>
    	<param name="data.xml.problem.location">${data.xml.root.location}problem</param>
    	<param name="attachment.dir.location">/opt/ears/</param>
    	
    	<!-- External Configuration Files -->
    	<param name="config.location">classpath:META-INF/common-config-defaults.xml</param>
    <!--	<param name="config.location">/usr/local/rice/embedded-client-config.xml</param>-->
    </config>
    
    Panel
    borderColor#87CEFA
    bgColor#FFFFFF
    titleBGColor#87CEFA
    titleEnvironment Properties
    borderStylesolid
    Code Block
    titleenvironment.properties
    borderStylesolid
    ldap.user=
    ldap.password=
    
    client.datasource.url=
    client.datasource.username=
    client.datasource.password=
    datasource.pool.size=
    datasource.initialSize=
    datasource.pool.maxWait=
    datasource.pool.validationQuery=
    datasource.username=
    datasource.password=
    datasource.driver.name=
    	
    standalone.datasource.url=
    standalone.datasource.username=
    standalone.datasource.password=
    datasource.driver.name=
    datasource.pool.size=
    datasource.initialSize=
    datasource.pool.maxWait=
    datasource.pool.validationQuery=
    
    standalone.server.url=
    

    ...