Spring Configuration
SpringBeans.xml
<!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="jtaTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManager" ref="jotm"/> <property name="userTransaction" ref="jotm"/> </bean> <bean id="dataSource" class="org.kuali.rice.core.database.XAPoolDataSource"> <property name="transactionManager" ref="jotm" /> <property name="driverClassName" value="${datasource.driver.name}" /> <property name="url" value="${datasource.url}" /> <property name="maxSize" value="${datasource.pool.size}" /> <property name="minSize" value="${datasource.initialSize}" /> <property name="maxWait" value="${datasource.pool.maxWait}" /> <property name="validationQuery" value="${datasource.pool.validationQuery}" /> <property name="username" value="${datasource.username}" /> <property name="password" value="${datasource.password}" /> </bean> <bean id="nonTransactionalDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${datasource.driver.name}" /> <property name="url" value="${datasource.url}" /> <property name="maxActive" value="${datasource.pool.maxActive}" /> <property name="minIdle" value="${datasource.minIdle}" /> <property name="initialSize" value="${datasource.initialSize}" /> <property name="validationQuery" value="${datasource.pool.validationQuery}" /> <property name="username" value="${datasource.username}" /> <property name="password" value="${datasource.password}" /> <property name="accessToUnderlyingConnectionAllowed" value="${datasource.accessToUnderlyingConnectionAllowed}" /> </bean> <bean id="standaloneDataSource" class="org.kuali.rice.core.database.XAPoolDataSource"> <property name="transactionManager" ref="jotm" /> <property name="driverClassName" value="${datasource.driver.name}" /> <property name="url" value="${standalone.datasource.url}" /> <property name="maxSize" value="${datasource.pool.size}" /> <property name="minSize" value="${datasource.initialSize}" /> <property name="maxWait" value="${datasource.pool.maxWait}" /> <property name="validationQuery" value="${datasource.pool.validationQuery}" /> <property name="username" value="${standalone.datasource.username}" /> <property name="password" value="${standalone.datasource.password}" /> </bean> <bean id="rice" class="org.kuali.rice.core.config.RiceConfigurer"> <property name="dataSource" ref="dataSource" /> <property name="nonTransactionalDataSource" ref="nonTransactionalDataSource"/> <property name="serverDataSource" ref="standaloneDataSource"/> <property name="transactionManager" ref="jotm" /> <property name="userTransaction" ref="jotm" /> <property name="serviceNamespace" value="RSEC" /> <property name="environment" value="dev" /> <property name="rootConfig" ref="config" /> <property name="ksbConfigurer"> <bean class="org.kuali.rice.ksb.messaging.config.KSBConfigurer"> <property name="serviceServletUrl" 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>
Rice Configuration
embedded-client-config.xml
<config> <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">${ldap.user}</param> <param name="ldap.password">${ldap.password}</param> <param name="datasource.ojb.platform">Oracle9i</param> <param name="datasource.platform">org.kuali.rice.core.database.platform.OraclePlatform</param> <param name="datasource.url">${client.datasource.url}</param> <param name="datasource.username">${client.datasource.username}</param> <param name="datasource.password">${client.datasource.password}</param> <param name="standalone.datasource.url">${standalone.datasource.url}</param> <param name="standalone.datasource.username">${standalone.datasource.username}</param> <param name="standalone.datasource.password">${standalone.datasource.password}</param> <param name="datasource.driver.name">oracle.jdbc.driver.OracleDriver</param> <param name="datasource.pool.validationQuery">select 1 from dual</param> <param name="datasource.pool.maxWait">30000</param> <param name="datasource.pool.size">30</param> <param name="datasource.pool.maxActive">50</param> <param name="datasource.minIdle">7</param> <param name="datasource.initialSize">7</param> <param name="datasource.accessToUnderlyingConnectionAllowed">true</param> <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="ksb.org.quartz.scheduler.instanceId">AUTO</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 name="serviceServletUrl">${standalone.server.url}/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> <param name="config.location">classpath:META-INF/common-config-defaults.xml</param> </config>
Environment Properties
environment.properties
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=
Project Object Model
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.kuali.rice</groupId> <artifactId>embedded-client</artifactId> <packaging>jar</packaging> <name>embedded-client</name> <version>1.0.0</version> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> <properties> <iet-commons-ldap.version>1.0.0</iet-commons-ldap.version> <ucd-kim-impl.version>1.0.0RC1</ucd-kim-impl.version> <rice.version>1.0.0-SNAPSHOT</rice.version> <asm.version>3.0</asm.version> </properties> <dependencies> <dependency> <groupId>edu.ucdavis.iet.commons</groupId> <artifactId>iet-commons-ldap</artifactId> <version>${iet-commons-ldap.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>edu.ucdavis.iet.kuali.rice</groupId> <artifactId>ucd-kim-impl</artifactId> <version>${ucd-kim-impl.version}</version> <exclusions> <exclusion> <groupId>asm</groupId> <artifactId>asm</artifactId> </exclusion> <exclusion> <groupId>asm</groupId> <artifactId>asm-attrs</artifactId> </exclusion> <exclusion> <groupId>cglib</groupId> <artifactId>cglib</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>asm</groupId> <artifactId>asm</artifactId> <version>${asm.version}</version> </dependency> <dependency> <groupId>org.kuali.rice</groupId> <artifactId>rice-api</artifactId> <version>${rice.version}</version> </dependency> <dependency> <groupId>org.kuali.rice</groupId> <artifactId>rice-impl</artifactId> <version>${rice.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency> </dependencies> <repositories> <repository> <id>kuali</id> <name>Kuali Repository</name> <url>https://test.kuali.org/maven</url> </repository> </repositories> </project>