paulwong

#

JBPM的双数据源配置

JBPM数据源和业务数据源不是同一个的时候的配置:


<!-- jta config -->
    
<!-- 业务数据库 -->
    
<bean id="dataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean"
        init-method
="init" destroy-method="close">
        
<property name="uniqueResourceName">
            
<value>mysql/main</alue>
        
</property>
        
<property name="xaDataSourceClassName">
            
<value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</alue>
        
</property>
        
<property name="xaProperties">
            
<props>
                
<prop key="URL">${jdbc.url}</prop>
                
<prop key="user">${jdbc.username}</prop>
                
<prop key="password">${jdbc.password}</prop>
            
</props>
        
</property>
        
<property name="maxPoolSize">
            
<value>3</alue>
        
</property>
        
<property name="testQuery">
            
<value>SELECT 1</alue>
        
</property>
    
</bean>

    
<!-- JBPM数据库 -->
    
<bean id="dataSourceJbpm"
        class
="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init"
        destroy-method
="close">
        
<property name="uniqueResourceName">
            
<value>mysql/news</alue>
        
</property>
        
<property name="xaDataSourceClassName">
            
<value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</alue>
        
</property>
        
<property name="xaProperties">
            
<props>
                
<prop key="URL">${jbpm.jdbc.url}</prop>
                
<prop key="user">${jbpm.jdbc.username}</prop>
                
<prop key="password">${jbpm.jdbc.password}</prop>
            
</props>
        
</property>
        
<property name="maxPoolSize">
            
<value>3</alue>
        
</property>
        
<property name="testQuery">
            
<value>SELECT 1</alue>
        
</property>
    
</bean>

    
<bean id="lobHandler"
        class
="org.springframework.jdbc.support.lob.DefaultLobHandler" />

    
<!-- 业务数据库的sqlMapClient -->
    
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
        
<property name="configLocation" value="classpath:SqlMapConfig.xml" />
        
<property name="dataSource" ref="dataSource" />
        
<property name="lobHandler" ref="lobHandler" />
    
</bean>

    
<!-- Construct Atomikos UserTransactionManager, needed to configure Spring -->
    
<bean id="atomikosTransactionManager"
        class
="com.atomikos.icatch.jta.UserTransactionManager"
        init-method
="init" destroy-method="close">
        
<!--  when close is called, should we force transactions to terminate or not? -->
        
<property name="forceShutdown">
            
<value>true</alue>
        
</property>
    
</bean>

    
<!-- Also use Atomikos UserTransactionImp, needed to configure Spring  -->
    
<bean id="atomikosUserTransaction"
        class
="com.atomikos.icatch.jta.UserTransactionImp">
        
<property name="transactionTimeout" value="300" />
    
</bean>

    
<!-- Configure the Spring framework to use JTA transactions from Atomikos -->
    
<bean id="transactionManager"
        class
="org.springframework.transaction.jta.JtaTransactionManager">
        
<property name="transactionManager" ref="atomikosTransactionManager"/>
        
<property name="userTransaction" ref="atomikosUserTransaction"/>
    
</bean>
    
    
<tx:advice id="txAdvice" transaction-manager="transactionManager">
        
<tx:attributes>
            
<tx:method name="find*" propagation="REQUIRED" read-only="true" rollback-for="ServiceException"/>
            
<tx:method name="get*" propagation="REQUIRED" read-only="true" rollback-for="ServiceException"/>
            
<tx:method name="list*" propagation="REQUIRED" read-only="true" rollback-for="ServiceException"/>
            
<tx:method name="*" propagation="REQUIRED" rollback-for="ServiceException"/>
        
< :attributes>
    
< :advice>

    
<aop:config>
        
<aop:advisor pointcut="execution(* com.service.impl.*.*(..))" advice-ref="txAdvice" />
    
</aop:config>
    
    
<!-- JBPM集成配置 -->
    
<bean id="sessionFactoryForJbpm"
        class
="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        
<property name="mappingJarLocations">
            
<list>
            
<!-- hibernate 映射文件所在的jar包路径 -->
                
<value>WEB-INF b/jbpm-jpdl.jar</alue>
            
< st>
        
</property>
        
<property name="hibernateProperties">
            
<props>
                
<prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQL5Dialect
                
</prop>
                
<prop key="hibernate.show_sql">true</prop>
                
<prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
            
</props>
        
</property>
        
<property name="dataSource" ref="dataSourceJbpm" />
    
</bean>

    
<bean id="jbpmConfiguration"
        class
="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
        
<property name="sessionFactory" ref="sessionFactoryForJbpm" />
        
<!-- jbpm.cfg.xml 配置JBPM的参数,如邮件服务器地址等,保持默认即可-->
        
<property name="configuration" value="classpath:jbpm.cfg.xml" />
        
<property name="createSchema" value="false" />
    
</bean>

    
<bean id="jbpmTemplate"
        class
="com.ideal.common.util.JbpmUtils">
        
<constructor-arg index="0" ref="jbpmConfiguration" />
    
</bean>
    
<!-- END OF JBPM集成配置 --> 

posted @ 2009-03-11 09:34 paulwong 阅读(1263) | 评论 (0)编辑 收藏

Spring 整合 JBPM


http://www.javaeye.com/topic/165996


http://www.javaeye.com/topic/192996

posted @ 2009-03-07 02:48 paulwong 阅读(327) | 评论 (0)编辑 收藏

Spring Caching

http://jncz.javaeye.com/blog/94765

posted @ 2009-03-07 00:43 paulwong 阅读(189) | 评论 (0)编辑 收藏

java精选25道题

     摘要: 1. float型float f=3.4是否正确?
  答:不正确,应为float f=3.4f

  2. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
  答:是引用传递。

  阅读全文

posted @ 2009-03-03 09:52 paulwong 阅读(184) | 评论 (0)编辑 收藏

通过com.wutka.jox轻松实现JavaBeans与XML的相互转换

     摘要: 不用复杂的代码,就可以让您的JavaBeans自己控制到XML文件的相互转化。本文展示了怎样通过JOX来实现从JavaBeans到XML文件的相互转换。

为了灵活的满足Web应用和Web services需求的变化,Java和XML的轻便性和可扩展性使它们成为解决这一问题的理想选择。SAX (Simple API for XML), DOM (document.nbspObject Model), XSL (Extensible Stylesheet Language), XSLT (XSL Transformations), SOAP (Simple Object Access Protocol), and BML (Bean Markup Language)是XML领域内的相关技术。本文集合了Java和XML轻便和可扩展的优点,但又不需要开发人员了解上述的相关技术。
在Java分布式应用中使用远程方法调用(RMI),而不是直接用底层的socket或其它网络链接代码。EJB技术也使开发人员从transaction,recovery, acti  阅读全文

posted @ 2009-03-03 09:36 paulwong 阅读(502) | 评论 (0)编辑 收藏

EJB3 学习Notes 1。

     摘要: 1. 建立开发环境,安装JDK5.0 Up,设置JAVA_HOME
下载EJB3 Container,本文采用Sun的GlassFish V2,glassfish-installer-v2ur1-b09d-windows.jar,
java -Xmx256m -jar glassfish-installer-v2ur1-b09d-windows.jar
cd glassfish
lib\ant\bin\ant -f setup.xml
  阅读全文

posted @ 2009-02-26 09:44 paulwong 阅读(380) | 评论 (0)编辑 收藏

用OBPM30分钟实现BUG管理系统

http://vinsun.javaeye.com/blog/138164

posted @ 2009-02-25 10:07 paulwong 阅读(311) | 评论 (1)编辑 收藏

EXTJS入门

     摘要: EXTJS是一个兼容AJAX的前台WEB UI的框架,在普通的HTML文件的 BODY 元素中无须写任何HTML代码,就能产生相应的表格等元素。

  阅读全文

posted @ 2009-01-21 16:32 paulwong 阅读(2319) | 评论 (1)编辑 收藏

启动JBPM流程的代码

/**
     * 启动一个流程实例。
     * 
     * 
@param name
     *            流程名称。
     * 
@param version
     *            版本号,默认取最新版本。
     * 
@param formID
     *            与业务相关的表单编号,可选字段。 该参数的含义为:业务系统可以在填写完表单信息后,将表单实例的ID作为流程实例变量
     *            保存到工作流系统中,通过该ID可以在业务系统中查找表单信息。当然,也可以将表单实 际信息按照字段进行留成实例变量赋值。
     * 
@param actor
     *            流程实例发起人。
     * 
@return 实例ID号+任务实例ID(如果有),格式‘实例ID-任务实例ID’。
     
*/

    
public String startProcessInstance(String name, int version, String formID,
            String actor);
        jbpmContext 
= jbpmConfiguration.createJbpmContext();
        
try {
            ProcessDefinition def;
            
if (version == 0{
                def 
= jbpmContext.getGraphSession()
                        .findLatestProcessDefinition(name);
            }
 else {
                def 
= jbpmContext.getGraphSession().findProcessDefinition(name,
                        version);
            }

            ProcessInstance instance 
= new ProcessInstance(def);            
            TaskInstance taskInstance 
= instance.getTaskMgmtInstance().createStartTaskInstance();                
            
            
if ((formID != null&& (!formID.equals("")))
                instance.getContextInstance()
                        .setVariable(
                                name 
+ "-" + version + "-" + instance.getId()
                                        
+ "-Form", formID);
            jbpmContext.save(instance);
            String rtn 
= String.valueOf(instance.getId());
            
            
//如果有启动任务
            if (taskInstance != null){
                taskInstance.setActorId(actor);
                rtn 
+= "-" + String.valueOf(taskInstance.getId());
            }
else{
                instance.getRootToken().signal();
            }

            
return rtn;
        }
 catch (Exception e) {
            e.printStackTrace();
            log.error(e.getMessage());
        }
 finally {
            jbpmContext.close();
        }

        
return "";
    }

posted @ 2008-12-31 12:16 paulwong 阅读(933) | 评论 (0)编辑 收藏

如何防止衣服褪色?

     摘要: 第一,用醋浸泡。

在洗涤衣服之前,在水中加上一些普通的食醋把衣服浸泡一会。需要注意的是,醋的量不能太多,否则容易把浅色衣服染上醋的颜色。此方法主要适用于红色或紫色等颜色鲜艳的纯棉衣服和针织品。如果能够经常这样清洗衣服就可以保证衣服的颜色光洁如新!   阅读全文

posted @ 2008-12-22 10:53 paulwong 阅读(1197) | 评论 (0)编辑 收藏

仅列出标题
共112页: First 上一页 102 103 104 105 106 107 108 109 110 下一页 Last