现在的位置: 首页 > 综合 > 正文

Osworkflow2.8.0+hibernate3.1.3+spring1.2.8集成环境配置安装指南

2013年12月03日 ⁄ 综合 ⁄ 共 5354字 ⁄ 字号 评论关闭

Osworkflow2.8.0+hibernate3.1.3+spring1.2.8集成环境配置安装指南

作者:ahxu 时间:2006613

 

由于osworkflowspringhibernate3的集成不是很完善,网上也很鲜见有成功配置的文章及例子,加上osworkflow的文档帮助有限,为了方便其它开发人员学习和使用,ahxu将把osworkflow2.8.0自带的例子与hibernate3spring1.2.8结合在一起,给出完整的运行例子。由于是多个项目的整合,其间配置文件的内容及形式会因人而宜,很难做到统一和准确,如有疏漏和不足,请大家指出,谢谢。

测试环境安装

1.       Netbeans 5简体中文版集成的Tomcat5.5

2.       Mysql 5.0.20a

3.       Osworkflow 2.8.0,下载地址:https://osworkflow.dev.java.net/files/documents/635/27138/osworkflow-2.8.0.zip

4.       hibernate3.1.3,下载地址:http://sourceforge.net/project/showfiles.php?group_id=40712&package_id=127784&release_id=403223

5.       spring1.2.8,下载地址:http://sourceforge.net/project/showfiles.php?group_id=73357&package_id=73406&release_id=415255

 

应用配置

由于受项目所采用的技术影响,这里只提供了一种常见的配置形式(仅供测试,未必准确,各项目具体详细的配置安装请参见各项目的安装说明文档)。

 

1.       %Application%/ WEB-INF/lib下需要放置的库文件有:

a)         Osworkflow的支持包

包名

文件来源

commons-logging.jar

%osworkflow解压包%/lib/core

propertyset-1.4.jar

oscore-2.2.5.jar

propertyset-hibernate-1.4.jar

%osworkflow解压包%/lib/optional

bsf.jar

bsh-1.2b7.jar

ehcache.jar

osuser-1.0-dev-2Feb05.jar

osworkflow-2.8.0.jar

%osworkflow解压包%/

b)        Srping的支持包

包名

文件来源

spring.jar

%spring解压包%/dist

c)        Hibernate的支持包

包名

文件来源

antlr.jar

%hibernate解压包%/lib

cglib.jar

asm.jar

asm-attrs.jars

commons-collections.jar

commons-logging.jar

hibernate3.jar

jta.jar

dom4j.jar

log4j.jar

2.       %Application%/ WEB-INF/classes下需要放置的配置文件:

a)         workflows.xml

内容略,与OSWF自带例子同。

b)        example.xml

内容略,与OSWF自带例子同。

c)        osuser.xml

内容略,与OSWF自带例子同。

d)        propertyset.xml

<?xml version="1.0" encoding="UTF-8"?>

<propertysets>

    <propertyset name="hibernate3" class="ahxu.workflow.hibernate3.HibernatePropertySet">

        <arg name="hibernate.connection.datasource" value="jdbc/DefaultDS" />

        <arg name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />

    </propertyset>

</propertysets>

注:hibernate.dialect的值取决于你使用的数据库。

e)         log4j.properties

内容略,与OSWF自带例子同。

3.        %Application%/ WEB-INF/下需要放置的配置文件有:

a)         web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>/WEB-INF/spring-osworkflow.xml</param-value>

    </context-param>

    <servlet>

        <servlet-name>context</servlet-name>

        <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>

        <load-on-startup>1</load-on-startup>

        </servlet>

    <servlet>

        <servlet-name>SOAPWorkflow</servlet-name>

        <servlet-class>com.opensymphony.workflow.soap.SOAPWorkflowServlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>SOAPWorkflow</servlet-name>

        <url-pattern>/soap/*</url-pattern>

    </servlet-mapping>

    <session-config>

        <session-timeout>

            30

        </session-timeout>

    </session-config>

    <welcome-file-list>

       <welcome-file>

            index.jsp

        </welcome-file>

    </welcome-file-list>

</web-app>

 

b)        spring-osworkflow.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

 

<beans>

 

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

        <property name="jndiName"><value>java:comp/env/jdbc/DefaultDS</value></property>

    </bean>

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" singleton="true">

        <property name="dataSource"><ref local="dataSource"/></property>

        <property name="mappingResources">

            <list>

                <value>com/opensymphony/workflow/spi/hibernate3/HibernateCurrentStep.hbm.xml</value>

                <value>com/opensymphony/workflow/spi/hibernate3/HibernateHistoryStep.hbm.xml</value>

                <value>com/opensymphony/workflow/spi/hibernate3/HibernateWorkflowEntry.hbm.xml</value>

                <value>ahxu/workflow/hibernate3/PropertySetItemImpl.hbm.xml</value>

            </list>

        </property>

        <property name="hibernateProperties">

            <props>

                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

                <prop key="hibernate.show_sql">true</prop>

                <prop key="hibernate.hbm2ddl.auto">create-drop</prop>

            </props>

        </property>

    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

        <property name="sessionFactory" >

            <ref local="sessionFactory"/>

        </property>

    </bean>

    <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">

        <property name="transactionManager"><ref local="transactionManager"/></property>

        <property name="transactionAttributes">

            <props>

                <prop key="*">PROPAGATION_REQUIRED</prop>

            </props>

        </property>

    </bean>

 

    <bean id="workflow" class="org.springframework.aop.framework.ProxyFactoryBean">

        <property name="singleton">

            <value>false</value>

        </property>

        <property name="proxyInterfaces">

            <value>ahxu.osworkflow.example.WebWorkflow</value>

        </property>

        <property name="interceptorNames">

            <list>

                <value>transactionInterceptor</value>

                <value>workflowTarget</value>

抱歉!评论已关闭.