...
- Create Maven Project
Start Eclipse
Go to File -> New -> Project -> Maven Project
Check the Use default Workspace location box and click Next
Select Internal as the catalog
From the list of archetypes, select the maven-archetype-webapp Arctifact Id and click Next
For Group Id, enter edu.ucdavis.iet
For Artifact Id, enter M2Rice
Click Finish - Embed the Kuali Service Bus
- Identify Rice dependencies
Add the following to your pom.xmlCode Block title pom.xml <repository> <id>kuali</id> <name>Kuali Repository</name> <url>https://test.kuali.org/maven/</url> </repository> <dependency> <groupId>org.kuali.rice</groupId> <artifactId>rice-ksb</artifactId> <version>0.9.3</version> </dependency>
- Configure KSB Dispatcher Servlet
Add the following code to web.xmlCode Block title /WEB-INF/web.xml <servlet> <servlet-name>remoting</servlet-name> <servlet-class>edu.iu.uis.eden.messaging.servlet.KSBDispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remoting</servlet-name> <url-pattern>/remoting/*</url-pattern> </servlet-mapping>
- Create configuration files
In the project structure, right-click on src/main/webapp/WEB-INF, then New -> File
Name the file M2Rice-config.xml
Add the following skeleton code:Code Block title src/main/webapp/WEB-INF/M2Rice-config.xml <config> </config>
In the project structure, right-click on src/main/resources, then New -> File
Name the file M2Rice-RiceSpringBeans.xml
Add the following skeleton code:
In the project structure, right-click on src/main/webapp/WEB-INF, then New -> FileCode Block title src/main/resources/M2Rice-RiceSpringBeans.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> </beans>
Name the file M2Rice-config.xml
Add the following skeleton code:Code Block title src/main/webapp/WEB-INF/M2Rice-config.xml <config> </config>
- Configure Spring Beans
Add the following code:Code Block title src/main/resources/M2Rice-RiceSpringBeans.xml <bean id="rice" class="org.kuali.rice.config.RiceConfigurer"> <property name="dataSource" ref="workflowDataSource" /> <property name="transactionManager" ref="myJtaTransactionManager" /> <property name="userTransaction" ref="myJtaUserTransaction" /> <property name="properties"> <props> <prop key="message.entity">M2Rice</prop> <prop key="message.persistence">true</prop> <prop key="message.delivery">asynchronous</prop> <prop key="Routing.ImmediateExceptionRouting">false</prop> <prop key="RouteQueue.timeIncrement">1000</prop> <prop key="RouteQueue.maxRetryAttempts">3</prop> <prop key="useQuartzDatabase">true</prop> <prop key="ksb.org.quartz.scheduler.instanceId">AUTO</prop> <prop key="ksb.org.quartz.scheduler.instanceName">KSBScheduler</prop> <prop key="ksb.org.quartz.jobStore.isClustered">true</prop> <prop key="ksb.org.quartz.jobStore.tablePrefix">KR_QRTZ_</prop> </props> </property> <property name="modules"> <list> <bean class="edu.iu.uis.eden.messaging.config.KSBConfigurer"> <property name="serviceServletUrl" value="http://localhost:8080/M2Rice/remoting" /> </bean> </list> </property> </bean>
- Identify Rice dependencies
...