﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-xyz20003</title><link>http://www.blogjava.net/xyz20003/</link><description>www.mossle.com</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 18:58:39 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 18:58:39 GMT</pubDate><ttl>60</ttl><item><title>spring security权限管理手册升级至spring security-3.1.3 </title><link>http://www.blogjava.net/xyz20003/archive/2012/12/08/392628.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Fri, 07 Dec 2012 17:04:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2012/12/08/392628.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/392628.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2012/12/08/392628.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/392628.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/392628.html</trackback:ping><description><![CDATA[<div><div>     <p>费了半天劲，终于把原来基于spring security 2.0.5的权限管理手册升级到3.1.3。</p> <p>除了官方已经不再支持ntlm和portal两个例子之外，其他的实例都已经通过了测试。下一步计划是对整体内容进行整理，再加上3.1.3提供的新功能。</p> <p>&nbsp;</p> <p>目录索引链接如下：</p> <p>&nbsp;</p> <div> <dt> <span><a href="http://www.mossle.com/docs/auth/html/preface.html">序言</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/pt01-quickstart.html">I. 基础篇</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch001-helloworld.html">1. 一个简单的HelloWorld</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch001-helloworld.html#d0e152">1.1. 配置过滤器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch001-helloworld.html#d0e163">1.2. 使用命名空间</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch001-helloworld.html#d0e199">1.3. 完善整个项目</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch001-helloworld.html#d0e212">1.4. 运行示例</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch002-database.html">2. 使用数据库管理用户权限</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch002-database.html#d0e279">2.1. 修改配置文件</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch002-database.html#d0e318">2.2. 数据库表结构</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch003-custom-db.html">3. 自定义数据库表结构</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch003-custom-db.html#d0e371">3.1. 自定义表结构</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch003-custom-db.html#d0e384">3.2. 初始化数据</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch003-custom-db.html#ch03.query.sql">3.3. 获得自定义用户权限信息</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch003-custom-db.html#d0e398">3.3.1. 处理用户登陆</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch003-custom-db.html#d0e405">3.3.2. 检验用户权限</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch004-custom-login.html">4. 自定义登陆页面</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch004-custom-login.html#d0e447">4.1. 实现自定义登陆页面</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch004-custom-login.html#d0e457">4.2. 修改配置文件</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch004-custom-login.html#ch04-login-page">4.3. 登陆页面中的参数配置</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch004-custom-login.html#d0e558">4.4. 测试一下</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch005-resource-db.html">5. 使用数据库管理资源</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch005-resource-db.html#d0e589">5.1. 数据库表结构</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch005-resource-db.html#d0e604">5.2. 初始化数据</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch005-resource-db.html#d0e611">5.3. 实现从数据库中读取资源信息</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch005-resource-db.html#d0e618">5.3.1. 需要何种数据格式</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch005-resource-db.html#d0e661">5.3.2. 替换原有功能的切入点</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch006-user-info.html">6. 控制用户信息</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch006-user-info.html#d0e709">6.1. MD5加密</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch006-user-info.html#d0e741">6.2. 盐值加密</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch006-user-info.html#d0e781">6.3. 用户信息缓存</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch006-user-info.html#d0e836">6.4. 获取当前用户信息</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch007-access-deny.html">7. 自定义访问拒绝页面</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch008-db-login.html">8. 动态管理资源结合自定义登录页面</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch009-chinese.html">9. 中文用户名</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch010-fully.html">10. 判断用户是否登录</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/pt02-web.html">II. 保护web篇</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html">11. 图解过滤器</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e997">11.1. HttpSessionContextIntegrationFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1010">11.2. LogoutFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1021">11.3. AuthenticationProcessingFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1036">11.4. DefaultLoginPageGeneratingFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1049">11.5. BasicProcessingFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1062">11.6. SecurityContextHolderAwareRequestFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1071">11.7. RememberMeProcessingFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1084">11.8. AnonymousProcessingFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1097">11.9. ExceptionTranslationFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1106">11.10. SessionFixationProtectionFilter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch101-filters.html#d0e1117">11.11. FilterSecurityInterceptor</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch102-concurrent-session.html">12. 管理会话</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch102-concurrent-session.html#d0e1150">12.1. 添加监听器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch102-concurrent-session.html#d0e1163">12.2. 添加过滤器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch102-concurrent-session.html#d0e1173">12.3. 控制策略</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch102-concurrent-session.html#d0e1176">12.3.1. 后面的用户禁止登陆</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch102-concurrent-session.html#d0e1191">12.3.2. 后登陆的将先登录的踢出系统</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html">13. 单点登录</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1231">13.1. 配置JA-SIG</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1258">13.2. 配置Spring Security</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1261">13.2.1. 添加依赖</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1275">13.2.2. 修改applicationContext.xml</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1370">13.3. 运行配置了cas的子系统</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1401">13.4. 为cas配置SSL</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1406">13.4.1. 生成密钥</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1427">13.4.2. 为jetty配置SSL</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch103-cas.html#d0e1434">13.4.3. 为tomcat配置SSL</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch104-basic.html">14. basic认证</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch104-basic.html#d0e1461">14.1. 配置basic验证</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch104-basic.html#d0e1490">14.2. 编程实现basic客户端</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch105-taglib.html">15. 标签库</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch105-taglib.html#d0e1532">15.1. 配置taglib</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch105-taglib.html#d0e1539">15.2. authenticaiton</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch105-taglib.html#d0e1552">15.3. authorize</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch105-taglib.html#d0e1575">15.4. acl/accesscontrollist</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch105-taglib.html#d0e1588">15.5. 为不同用户显示各自的登陆成功页面</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch106-rememberme.html">16. 自动登录</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch106-rememberme.html#d0e1640">16.1. 默认策略</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch106-rememberme.html#d0e1659">16.2. 持久化策略</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch107-anonymous.html">17. 匿名登录</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch107-anonymous.html#d0e1702">17.1. 配置文件</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch107-anonymous.html#d0e1735">17.2. 修改默认用户名</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch107-anonymous.html#d0e1755">17.3. 匿名用户的限制</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch108-sessionfix.html">18. 防御会话伪造</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch108-sessionfix.html#d0e1794">18.1. 攻击场景</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch108-sessionfix.html#d0e1813">18.2. 解决会话伪造</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch109-preauth.html">19. 预先认证</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch109-preauth.html#d0e1849">19.1. 为jetty配置Realm</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch109-preauth.html#d0e1870">19.2. 配置Spring Security</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch110-switchuser.html">20. 切换用户</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch110-switchuser.html#d0e1918">20.1. 配置方式</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch110-switchuser.html#d0e1929">20.2. 实例演示</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch111-channel.html">21. 信道安全</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch111-channel.html#d0e1954">21.1. 设置信道安全</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch111-channel.html#d0e1968">21.2. 指定http和https的端口</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch112-digest.html">22. digest认证</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch112-digest.html#d0e2000">22.1. 配置digest验证</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch112-digest.html#d0e2031">22.2. 使用ajax实现digest认证</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch112-digest.html#d0e2040">22.3. 编程实现digest客户端</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch113-ldap.html">23. 通过LDAP获取用户信息</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch114-openid.html">24. 通过OpenID进行登录</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch114-openid.html#d0e2124">24.1. 配置</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch114-openid.html#d0e2157">24.2. 系统时间问题</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch114-openid.html#d0e2164">24.3. openid4java的处理流程</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch115-x509.html">25. 使用X509登录</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch115-x509.html#d0e2248">25.1. 生成证书</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch115-x509.html#d0e2265">25.2. 配置服务器使用双向加密</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch115-x509.html#d0e2272">25.3. 配置X509认证</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch116-ntlm.html">26. 使用NTLM登录</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch117-jaas.html">27. 使用JAAS机制</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch118-httpinvoker.html">28. 使用HttpInvoker</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch119-rmi.html">29. 使用rmi</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch120-portlet.html">30. 控制portal的权限</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch121-savedrequest.html">31. 保存登录之前的请求</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch122-audit.html">32. 记录操作日志</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/pt03-method.html">III. 内部机制篇</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch201-method.html">33. 保护方法调用</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch201-method.html#d0e2548">33.1. 控制全局范围的方法权限</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch201-method.html#d0e2567">33.2. 控制某个bean内的方法权限</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch201-method.html#d0e2594">33.3. 使用annotation控制方法权限</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch201-method.html#d0e2601">33.3.1. 使用Secured</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch201-method.html#d0e2620">33.3.2. 使用jsr250</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch202-base.html">34. 权限管理的基本概念</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch202-base.html#d0e2680">34.1. 认证与验证</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch202-base.html#d0e2693">34.2. SecurityContext安全上下文</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch202-base.html#d0e2710">34.3. Authentication验证对象</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch203-voter.html">35. Voter表决者</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch203-voter.html#d0e2764">35.1. Voter表决者</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch203-voter.html#d0e2787">35.2. RoleVoter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch203-voter.html#d0e2796">35.3. AuthenticatedVoter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch203-voter.html#d0e2807">35.4. AbstractAclVoter</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch204-interceptor.html">36. 拦截器</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch204-interceptor.html#d0e2830">36.1. 权限配置数据源</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch204-interceptor.html#d0e2859">36.2. 权限管理器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch204-interceptor.html#d0e2868">36.3. 后置调用管理器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch204-interceptor.html#d0e2875">36.4. 临时分配额外权限</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch205-user.html">37. 用户信息</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch205-user.html#d0e2898">37.1. UserDetails</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch205-user.html#d0e2911">37.2. 使用角色继承</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch205-user.html#d0e2930">37.3. 为ACL添加角色继承</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch205-user.html#d0e2953">37.4. PasswordEncoder和SaltValue</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch206-captcha.html">38. 集成jcaptcha</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch207-resc.html">39. 动态资源管理</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch207-resc.html#d0e3012">39.1. 基本知识</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch207-resc.html#d0e3025">39.2. 读取资源</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch207-resc.html#d0e3054">39.3. URL资源扩展点</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch207-resc.html#d0e3063">39.4. METHOD资源扩展点</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch208-extenduser.html">40. 扩展UserDetails</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch208-extenduser.html#d0e3092">40.1. 实现UserDetails接口</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch208-extenduser.html#d0e3143">40.2. 实现UserDetailsService接口</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch208-extenduser.html#d0e3156">40.3. 修改配置文件</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch208-extenduser.html#d0e3165">40.4. 测试运行</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch209-lockuser.html">41. 锁定用户</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch210-filterchain.html">42. 设置过滤器链</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch211-customfilter.html">43. 自定义过滤器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch212-group.html">44. 使用用户组</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch212-group.html#d0e3335">44.1. 数据库结构</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch212-group.html#d0e3373">44.2. 修改配置文件</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch213-jsf.html">45. 在JSF中使用Spring Security</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch213-jsf.html#d0e3405">45.1. 修改过滤器支持forward</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch213-jsf.html#d0e3412">45.2. 自定义登录页面</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch213-jsf.html#d0e3425">45.3. 显示密码错误信息</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch214-smart-concurrent.html">46. 自定义会话管理</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch214-smart-concurrent.html#d0e3457">46.1. 默认策略的缺陷</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch214-smart-concurrent.html#d0e3479">46.2. 记录用户名与ip</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch214-smart-concurrent.html#d0e3488">46.3. 改造控制类</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch214-smart-concurrent.html#d0e3501">46.4. 修改配置文件</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch215-url-matcher.html">47. 匹配URL地址</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch215-url-matcher.html#d0e3530">47.1. AntPathRequestMatcher</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch215-url-matcher.html#d0e3565">47.2. RegexRequestMatcher</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch216-config-filter.html">48. 配置过滤器</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch216-config-filter.html#d0e3598">48.1. 标准过滤器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch216-config-filter.html#d0e3770">48.2. 在http中启用标准过滤器</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch216-config-filter.html#d0e3799">48.3. 为自定义过滤器设置位置</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch217-session-timeout.html">49. 监控会话过期</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch217-session-timeout.html#d0e3829">49.1. 实现原理</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch217-session-timeout.html#d0e3840">49.2. 代码实现</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch217-session-timeout.html#d0e3869">49.3. 目前实现的缺陷</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch218-multi-login.html">50. 多个登陆页面</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch218-multi-login.html#d0e3894">50.1. 未登录自动跳转到对应的登录页面</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch218-multi-login.html#d0e3932">50.2. 密码出错时返回对应页面</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch219-role-hierarchy.html">51. 角色继承</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch219-role-hierarchy.html#d0e3963">51.1. 使用RoleHierarchyVoter</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch219-role-hierarchy.html#d0e3977">51.2. 使用数据库实现RoleHierarchy</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch220-method-interceptor.html">52. 设置方法拦截器</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/pt04-acl.html">IV. ACL篇</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html">53. ACL基本操作</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html#d0e4050">53.1. 准备数据库和aclService</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html#d0e4059">53.1.1. 为acl配置cache</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html#d0e4070">53.1.2. 配置lookupStrategy</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html#d0e4079">53.1.3. 配置aclService</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html#d0e4086">53.2. 使用aclService管理acl信息</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html#d0e4107">53.3. 使用acl控制delete操作</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch301-acl.html#d0e4143">53.4. 控制用户可以看到哪些信息</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch302-permission.html">54. 管理acl</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch302-permission.html#d0e4179">54.1. 管理多个domain类</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch302-permission.html#d0e4201">54.2. 动态授权与收回授权</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch302-permission.html#d0e4206">54.2.1. 获得对象的acl权限</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch302-permission.html#d0e4225">54.2.2. 添加授权</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch302-permission.html#d0e4242">54.2.3. 收回授权</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch303-aware.html">55. acl自动提醒</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch303-aware.html#d0e4271">55.1. 自动创建acl</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch303-aware.html#d0e4294">55.2. 自动删除acl</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch303-aware.html#d0e4311">55.3. 根据id删除acl</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/pt05-practice.html">V. 最佳实践篇</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch401-basic.html">56. 最简控制台</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch401-basic.html#d0e4391">56.1. 平台搭建</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch401-basic.html#d0e4438">56.2. 用户登录</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch401-basic.html#d0e4456">56.3. 用户信息列表</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch401-basic.html#d0e4471">56.4. 添加用户</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch401-basic.html#d0e4504">56.5. 修改用户信息</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch401-basic.html#d0e4527">56.6. 修改自己的密码</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch402-user-group.html">57. 用户组控制台</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ch402-user-group.html#d0e4562">57.1. 添加对用户组的支持</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch402-user-group.html#d0e4576">57.2. 浏览用户组</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch402-user-group.html#d0e4589">57.3. 创建用户组</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ch402-user-group.html#d0e4604">57.4. 修改用户组</a> </span> </dt>   <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap01-history.html">A. 修改日志</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap02-faq.html">B. 常见问题解答</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap03-springsecurity3.html">C. Spring Security-3.0.0.M1</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap03-springsecurity3.html#d0e5456">C.1. Hello World</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap03-springsecurity3.html#d0e5463">C.2. Spring-EL</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap03-springsecurity3.html#d0e5520">C.3. RoleHierarchy</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap03-springsecurity3.html#d0e5527">C.4. Success Handler</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap03-springsecurity3.html#d0e5536">C.5. REST下的权限控制</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap03-springsecurity3.html#d0e5567">C.6. 管理会话同步</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap04-namespace.html">D. 命名空间</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap04-namespace.html#ap04-http">D.1. http</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap04-namespace.html#ap04-authentication-provider">D.2. authentication-provider</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap04-namespace.html#ap04-ldap-server">D.3. ldap-server</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap04-namespace.html#ap04-global-method-security">D.4. global-method-security</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap05-database-schema.html">E. 数据库表结构</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap05-database-schema.html#d0e5647">E.1. User</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap05-database-schema.html#d0e5652">E.2. Group</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap05-database-schema.html#d0e5657">E.3. RememberMe</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap05-database-schema.html#d0e5662">E.4. ACL</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap06-exception.html">F. 异常</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap07-event.html">G. 事件</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html">H. RBAC模型（转载）</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e5875">H.1. RBAC模型介绍</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e5882">H.2. 有关概念</a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e5889">H.2.1. 什么是角色</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e5898">H.2.2. 角色与用户组</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e5972">H.3. 基本模型RBAC<sub>0</sub></a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e5998">H.3.1. RBAC<sub>0</sub> 模型的形式定义如下</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6067">H.4. 角色分级模型RBAC<sub>1</sub></a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6088">H.4.1. 定义2：RBAC<sub>1</sub> 由以下内容确定</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6133">H.5. 限制模型RBAC<sub>2</sub></a> </span> </dt> <dd> <br /></dd><dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6152">H.5.1. 定义3：</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6215">H.6. 统一模型RBAC<sub>3</sub></a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6247">H.7. 定义4</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6312">H.8. 在ARBAC97中，包括三种组件</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6337">H.9. RBAC模型的特点</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6354">H.10. 基于party的模型</a> </span> </dt> <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap08-rbac.html#d0e6365">H.11. 有关operation</a> </span> </dt>  <dt> <span><a href="http://www.mossle.com/docs/auth/html/ap09-flow.html">I. 认证流程</a> </span> </dt> </div>         </div></div><img src ="http://www.blogjava.net/xyz20003/aggbug/392628.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2012-12-08 01:04 <a href="http://www.blogjava.net/xyz20003/archive/2012/12/08/392628.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>轻量级工作流引擎jBPM 4.4正式发布</title><link>http://www.blogjava.net/xyz20003/archive/2010/07/20/326652.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Tue, 20 Jul 2010 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/07/20/326652.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/326652.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/07/20/326652.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/326652.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/326652.html</trackback:ping><description><![CDATA[jBPM-4.4于2010年7月19日正式发布。
<br />
<br />
jBPM是jBoss旗下的一款开源工作流引擎，它的特色是提供了eclipse插件，开发人员可以通过插件直接绘画出业务流程图。
<br />
<br />
<img src="http://www.jboss.org/jbpm/mainColumnParagraphs/00/image/process.subprocess.document.png"  alt="" />
<br />
<br />
jBPM
4是jBPM的最新一代产品，它提供的PVM（流程虚拟机）可以支持多种流程语言，默认支持的是jBPM自己的jPDL流程语言，从jBPM-4.3开
始，又提供了对BPMN-2.0的支持（不过还不完全）。jBPM的发布包中提供了一键式安装的ant脚本，可以将jBPM流程引擎以及配套的管理控制
台，流程设计器一次性安装到本机上运行使用。
<br />
<br />
安装配置的详细步骤可以参考官方的用户手册：<a href="http://www.family168.com/tutorial/jbpm4.0/html/installation.html" target="_blank">http://www.family168.com/tutorial/jbpm4.0/html/installation.html</a>
<br />
<br />
最新发布的jBPM-4.4中解决了108个issue，不过它距离上次发布也半年有余了，jBPM-4.3发布于2009年12月底。
<br />
<br />
jBPM-4.4是一个bug fix版本，并未对数据库有任何修改，使用之前版本的项目基本可以平滑升级。在进行升级时需要注意：
<br />
<br />
1.Activity和Transition两个接口从org.jbpm.pvm.internal.model包下移动到了
org.jbpm.api.model包下。
<br />
2.所有与el表达式相关的部分都替换为新加的org.jbpm.pvm.internal.el.Expression。
<br />
<br />
添加的几个重要功能：
<br />
1.for each支持动态的并发分支流程，会签和并发子流程都可以用它来实现了。
<br />
2.assign活动，可以对变量的值进行复制。
<br />
3.变量声明，可以在xml里声明变量。
<br />
4.修正了console在tomcat下找不到dataSource的问题（包括报表）。
<br />
<br />
详细的发布信息，请参考官方的JIRA：<a href="https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=10052&amp;version=12314183" target="_blank">https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=10052&amp;version=12314183</a>
<br />
<br />
用Alejandro的话说，This makes 4.4 the most cat-friendly jBPM
yet!下个版本会对数据库结构进行修改了，以便完善流程历史库的功能。
<br />
<br />
相关的发布下载与文档资源如下：
<br />
Subversion tag: <a href="http://anonsvn.jboss.org/repos/jbpm/jbpm4/tags/jbpm-4.4/" target="_blank">http://anonsvn.jboss.org/repos/jbpm/jbpm4/tags/jbpm-4.4/</a>
<br />
Maven artifact: <a href="http://repository.jboss.org/nexus/content/repositories/releases/org/jbpm/jbpm4/jbpm/4.4/" target="_blank">http://repository.jboss.org/nexus/content/repositories/releases/org/jbpm/jbpm4/jbpm/4.4/</a>
<br />
SourceForge file: <a href="https://downloads.sourceforge.net/project/jbpm/jBPM%204/jbpm-4.4/jbpm-4.4.zip" target="_blank">https://downloads.sourceforge.net/project/jbpm/jBPM%204/jbpm-4.4/jbpm-4.4.zip</a>
<br />
<br />
User Guide: <a href="http://docs.jboss.com/jbpm/v4/userguide/html_single/" target="_blank">http://docs.jboss.com/jbpm/v4/userguide/html_single/</a>
<br />
Developer Guide: <a href="http://docs.jboss.com/jbpm/v4/devguide/html_single/" target="_blank">http://docs.jboss.com/jbpm/v4/devguide/html_single/</a>
<br />
Maven Artifact: <a href="http://repository.jboss.org/nexus/content/repositories/releases/org/jbpm/jbpm4/jbpm/4.4/" target="_blank">http://repository.jboss.org/nexus/content/repositories/releases/org/jbpm/jbpm4/jbpm/4.4/</a>
<br />
<br />
另附我们翻译的用户手册和开发指南：
<br />
用户手册：<a href="http://www.family168.com/tutorial/jbpm4.0/html/index.html" target="_blank">http://www.family168.com/tutorial/jbpm4.0/html/index.html</a>
<br />
开发指南：<a href="http://www.family168.com/tutorial/jbpm4devguide/html/index.html" target="_blank">http://www.family168.com/tutorial/jbpm4devguide/html/index.html</a>
<img src ="http://www.blogjava.net/xyz20003/aggbug/326652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-07-20 16:20 <a href="http://www.blogjava.net/xyz20003/archive/2010/07/20/326652.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>拖延一个多月后，jBPM-4.4发布CR1候选版 </title><link>http://www.blogjava.net/xyz20003/archive/2010/07/15/326232.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Thu, 15 Jul 2010 14:18:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/07/15/326232.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/326232.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/07/15/326232.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/326232.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/326232.html</trackback:ping><description><![CDATA[Alejandro太谨慎了，发布jBPM-4.4之前还搞了一个CR1候选版，被jBPM-4.3里那些bug困扰的同志可以直接下载这个版本使用了，
这个候选版和jBPM-4.4最终发布版基本不会有太大区别，下载地址如下：
<br />
<br />
<a href="http://sourceforge.net/projects/jbpm/files/jBPM%204/jbpm-4.4/jbpm-4.4.CR1.zip/download" target="_blank">http://sourceforge.net/projects/jbpm/files/jBPM%204/jbpm-4.4/jbpm-4.4.CR1.zip/download</a>
<br />
<br />
在之前的帖子<a href="http://xyz20003.javaeye.com/blog/673642" target="_blank">jBPM 4.4发布日期暂定于2010年6月4日</a>里提到的几个新特性都有了结果：
<br />
<br />
1.支持foreach，这个是真正的动态分支功能，想玩会签吗？想玩动态分支吗？想实现动态子流程吗？用foreach就对了。
<br />
<br />
2.支持在jpdl的xml中声明变量，可以声明实例级全局变量，也可以声明活动级的局部变量。
<br />
<br />
现在这两个重量级的功能都可以使用了。
<br />
<br />
对于BPMN2的支持也加强了一部分，包括m选n的inclusive gate
way和可以定时启动的TimerStartEventActivity。不过BPMN2新增的功能都是joraz走之前实现的，以后jBPM
4的BPMN2能走多远还是未知数。
<br />
<br />
jBPM 4.4目前解决了100多个issue，详细的issue列表可以参考这里：
<br />
<br />
<a href="https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=10052&amp;version=12314183" target="_blank">https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=10052&amp;version=12314183</a>
<br />
<br />
最后双手合十，诚信祷告jBPM-4.4早日发布。这样我们才能集中精力开始下一阶段的开发。
<img src ="http://www.blogjava.net/xyz20003/aggbug/326232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-07-15 22:18 <a href="http://www.blogjava.net/xyz20003/archive/2010/07/15/326232.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> jBPM 4.4发布日期暂定于2010年6月4日</title><link>http://www.blogjava.net/xyz20003/archive/2010/05/24/321703.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Mon, 24 May 2010 01:57:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/05/24/321703.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/321703.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/05/24/321703.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/321703.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/321703.html</trackback:ping><description><![CDATA[jbpm官方终于传来好消息，jBPM 4.4可能在下月初发布。以下是当前project leader的声明：
<br />
<br />
<div class="quote_div">We are down to 9 unresolved issues left before releasing 4.4. Given
the current progress, it should be possible to release jBPM 4.4 on June
4th; the date is of course tentative and subject to change. Right now
the only blocker issue is JBPM-2872: fix hudson db job. All others are
deferrable if not completed on time.
<br />
<br />
If you feel like there is an issue that should not be left out, the
time to bring it up is now. Visit the developers forum if you want to do
so.
<br />
</div>
<br />
<br />
声明地址：<a href="http://community.jboss.org/thread/152282?tstart=0" target="_blank">http://community.jboss.org/thread/152282?tstart=0</a>
<br />
<br />
简单来说，就是还剩下9个未处理事务，按当前进度应该可以在6月4日发布jBPM
4.4，其中最重要的问题是修正hudson下的db任务。最后向社区征集意见，如果谁感觉有啥issue应该在jbpm
4.4里解决的话，就赶快提出来撒。
<br />
<br />
jBPM 4.4的详细发布信息可以参考这里<a href="https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=10052&amp;version=12314183" target="_blank">https://jira.jboss.org/secure/ReleaseNote.jspa?projectId=10052&amp;version=12314183</a>，
一共是75个issue，目前已解决66个。这个版本主要是进行bug fix，也提供了几个重量级的新功能。
<br />
<br />
1.解决嵌套fork/join每次嵌套会出现多余execution的问题。
<br />
2.任务超时或者手工执行signal后，自动删除过期task。
<br />
3.让sub-process的id和key都支持表达式。
<br />
4.支持在xml中声明变量。（还在讨论中）
<br />
5.在fork中使用assignmentHandler会抛出NullPointerException。
<br />
<br />
另外还有for-each动态fork分支这个功能，还在研究是不是要放在jbpm-4.4里，感兴趣的同志可以来官方论坛提出意见。
<br />
<a href="http://community.jboss.org/thread/152243?tstart=0"></a><a href="http://community.jboss.org/en/jbpm?view=discussions" target="_blank">http://community.jboss.org/thread/152243?tstart=0</a>
<img src ="http://www.blogjava.net/xyz20003/aggbug/321703.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-05-24 09:57 <a href="http://www.blogjava.net/xyz20003/archive/2010/05/24/321703.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jBPM创始人发布BPMN原生引擎Activiti-5.0-alpha1</title><link>http://www.blogjava.net/xyz20003/archive/2010/05/20/321438.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Thu, 20 May 2010 01:25:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/05/20/321438.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/321438.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/05/20/321438.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/321438.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/321438.html</trackback:ping><description><![CDATA[Tom Baeyens也就是jBPM的原作者，离开了Red Hat之后，另起炉灶搞了一个Activiti的项目，这个项目是基于BPMN的原生流程引擎。<br />
<br />
那么这个activiti到底有啥好处呢？让咱们一一道来：<br />
<br />
它基于的Apache 2.0开源协议，比jBPM的LGPL更加宽松。<br />
<br />
它是基于BPMN2.0标准规范的，最大的好处就是可以用oryz这个web流程设计器直接在web浏览器上设计流程了。（注：别高兴太早，oryz是用svg写的，IE一律不支持。）<br />
<br />
它是基于ibatis的，数据库层不再对hibernate有依赖。（注：alpha1只支持h2database，后面的版本会对mysql, oracle,postegl进行支持）<br />
<br />
选用BPMN作为标准流程语言，也意味着原来的jBPM里的jPDL流程语言将不会被继续支持，也不知道PVM流程虚拟机是否会继续下去，如果Tom不想
玩虚拟机了，activiti很可能就是一个只支持一种流程语言的引擎了。这点确实让人感到有点儿遗憾。<br />
<br />
从www.activiti.org这个网站上可以下载到alpha1的发布包，其中包含了源代码，草草看了一下，核心库只有200多K，其中把原来自行实现的IoC自动注入的代码都删掉了。以后的IoC工作可能统一交给spring去管理，这对使用spring的同志来说，无疑是一个天大的好消息。<br />
<br />
api部分对外部接口进行了简化，ExternalActivityBehaviour不见了，换成了EventActivityBehaviour，这一点让我感觉很舒服，毕竟signal其实也只是事件的一种特例，换成eventActivityBehaviour之后，也就意味着我们可以让活动节点支持更多事件处理操作了。<br />
<br />
持久化部分换成了ibatis，这部分暂时还只支持h2database，脚本什么的也只有h2database的，虽然因为alpha1版本，功能不多情有可原，但是我还是担心使用ibatis会否大幅度增加数据库存储部分的维护量。希望后续发展不要因为这部分的问题遇到障碍。<br />
<br />
表结构似乎和原来的jbpm4差不多，有些表名发生了变化。表的数目又少了很多，但是我情愿认为这不是为了优化，而是因为这个版本不成熟，因为看不到log和history相关的表，所以，现在这个版本应该是没有历史留痕功能的。也没有看到变量表，也许都是用二进制的方式来保存的吧？<br />
<br />
对BPMN2支持的部分，目前支持StartEvent, EndEvent, Task和UserTask，其他的都不支持，所以还是需要时间完善的。<br />
<br />
实际上Tom和Joram的编码能力还是相当惊人的，从他们俩离开Red Hat到现在才不过两个月，就立刻搞出这么一个东西，而且网站也搞得有模有样的，真心希望他们能延续RoadMap，把这个项目完善起来。<br />
<br />
项目首页：<a href="http://www.activiti.org/">http://www.activiti.org/</a><br />
<br />
<img src ="http://www.blogjava.net/xyz20003/aggbug/321438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-05-20 09:25 <a href="http://www.blogjava.net/xyz20003/archive/2010/05/20/321438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>请把acegi替换成Spring Security（内附视频）</title><link>http://www.blogjava.net/xyz20003/archive/2010/03/22/316117.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Mon, 22 Mar 2010 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/03/22/316117.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/316117.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/03/22/316117.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/316117.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/316117.html</trackback:ping><description><![CDATA[在对web项目进行权限管理时，采用的方法无非是写一大堆JSP或者干脆一个Filter搞定。写完简单的权限功能后，又开始考虑如何自动记忆上次用户信
息，限制每台机器只能有一个用户登录，把用户密码进行加密。接着更上一层楼，尝试实现单点登录，使用HTTPS保护传输数据，防御会话伪造攻击等等。
<br />
<br />
于是好几年前出现了名叫acegi的东西，它建立在spring的基础上，提供了可以丰盛的权限功能集合，同时也以极为变态的复杂配置给了我们这
些初试权限的人闷头一棍。甚至网上已经有人流传&#8220;every time you use acegi, a fairy
die&#8221;——每当有人使用acegi时，就会有一个精灵死去。
<br />
<br />
正因为如此，acegi在加入spring阵营时，不但改头换面改名成为Spring
Security，而且在配置方面进行了极大的简化，形象的来说就是：&#8220;现在只需要20行的配置文件就可以完成之前几百行才能实现的功能&#8221;。
<br />
<br />
遗憾的是，现在依然可以看到还有人在使用acegi，甚至还有人在学习acegi，这种情况无疑让我们感到痛心疾首。
<br />
<br />
为了世界上不会再有精灵无谓牺牲，也为了大家的身心健康，我在此大声疾呼：&#8220;请把acegi替换成Spring
Security。&#8221;尤其对那些希望学习acegi的同志，请直接学习Spring Security。
<br />
<br />
下面是《请把acegi替换成Spring Security》的附带视频，希望大家了解Spring Security的简洁。
<br />
<a href="http://code.google.com/p/family168/downloads/detail?name=springsecurity.zip" target="_blank">http://code.google.com/p/family168/downloads/detail?name=springsecurity.zip</a>
<img src ="http://www.blogjava.net/xyz20003/aggbug/316117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-03-22 09:59 <a href="http://www.blogjava.net/xyz20003/archive/2010/03/22/316117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>跟我学工作流——jBPM4视频教程（免费）</title><link>http://www.blogjava.net/xyz20003/archive/2010/03/06/314671.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Sat, 06 Mar 2010 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/03/06/314671.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/314671.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/03/06/314671.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/314671.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/314671.html</trackback:ping><description><![CDATA[新的一年，为了让工作流方面的初学者更快上手开发，我们录制了jBPM 4视频教程，这套教程基于最新发布的jBPM 4.3，覆盖了开发环境的搭建，jBPM 4与WEB工程的集成，请假流程的完整实例，jBPM 4的组织机构，事件监听，以及流程图的跟踪等功能。<br />
<br />
我们的网站提供了相关视频和实例的免费下载，对工作流以及jBPM 4有兴趣的朋友可以关注一下，也希望更多朋友在工作流方面给我们提出建议。jBPM 4视频教程首页：<a href="http://www.family168.com/jbpm4/video.html">http://www.family168.com/jbpm4/video.html</a><br />
<br />
<table width="100%">
    <caption>《jBPM 4视频教程》：基于jBPM 4.3，发布日期2010-3-5。</caption>
    <thead>
        <tr>
            <th style="text-align: center;" width="5%">NO.</th>
            <th style="text-align: center;" width="7%">分级</th>
            <th>标题</th>
            <th style="text-align: center;" width="15%">&nbsp;</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td style="text-align: center;">01</td>
            <td style="color: gray; font-weight: bold; text-align: center;">初</td>
            <td>《配置开发环境》：下载jBPM 4和eclipse，安装GPD流程设计器，设计简单流程。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr class="even">
            <td style="text-align: center;">02</td>
            <td style="color: gray; font-weight: bold; text-align: center;">初</td>
            <td>《管理流程定义》：将流程定义发布到流程引擎中，实现查看和删除流程定义的功能。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr>
            <td style="text-align: center;">03</td>
            <td style="color: gray; font-weight: bold; text-align: center;">初</td>
            <td>《管理流程实例》：发起新流程，使暂停的流程继续运行，实现终止和删除流程实例。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr class="even">
            <td style="text-align: center;">04</td>
            <td style="color: blue; font-weight: bold; text-align: center;">中</td>
            <td>《设计请假流程》：以请假审批流程为例，以web的方式发布新流程定义。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr>
            <td style="text-align: center;">05</td>
            <td style="color: blue; font-weight: bold; text-align: center;">中</td>
            <td>《发起新流程》：在流程定义中设置任务分配，提供接收和完成任务的功能。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr class="even">
            <td style="text-align: center;">06</td>
            <td style="color: blue; font-weight: bold; text-align: center;">中</td>
            <td>《流程驳回》：实现流程驳回和重新提交申请的功能。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr>
            <td style="text-align: center;">07</td>
            <td style="color: red; font-weight: bold; text-align: center;">高</td>
            <td>《组织机构》：介绍jBPM 4中默认提供的组织机构。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr class="even">
            <td style="text-align: center;">08</td>
            <td style="color: red; font-weight: bold; text-align: center;">高</td>
            <td>《监听事件》：为流程定义设置事件，监听流程执行时触发的事件。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
        <tr>
            <td style="text-align: center;">09</td>
            <td style="color: red; font-weight: bold; text-align: center;">高</td>
            <td>《跟踪流程图》：显示流程图，跟踪当前路程实例的状态。</td>
            <td style="text-align: center;">
            <!--<a href="http://code.google.com/p/family168/downloads/list">观看</a>
            &nbsp;-->
            <a href="http://code.google.com/p/family168/downloads/list">下载</a>
            &nbsp;
            <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#110;&#103;&#111;&#115;&#117;&#114;&#102;&#49;&#54;&#56;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#98;&#111;&#117;&#116;&#37;&#50;&#48;&#118;&#105;&#100;&#101;&#111;">提意见</a>
            </td>
        </tr>
    </tbody>
    <tfoot>
    <tr>
        <td colspan="4" style="text-align: center;">www.family168.com
        - Lingo</td>
    </tr>
    </tfoot>
</table>
<br />
<br />
<img src ="http://www.blogjava.net/xyz20003/aggbug/314671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-03-06 10:02 <a href="http://www.blogjava.net/xyz20003/archive/2010/03/06/314671.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jBPM-4.x常见问题解决方案FAQ</title><link>http://www.blogjava.net/xyz20003/archive/2010/01/22/310467.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Fri, 22 Jan 2010 01:19:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/01/22/310467.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/310467.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/01/22/310467.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/310467.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/310467.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这段时间整理的jBPM-4.x常见问题以及解决方案，希望帮助对jBPM-4.x感兴趣的同学少走弯路，如果有没有覆盖到的问题，请及时和我们联系，我们会尽快更新这个FAQ，先说一句多谢了。：）&nbsp;&nbsp;<a href='http://www.blogjava.net/xyz20003/archive/2010/01/22/310467.html'>阅读全文</a><img src ="http://www.blogjava.net/xyz20003/aggbug/310467.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-01-22 09:19 <a href="http://www.blogjava.net/xyz20003/archive/2010/01/22/310467.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring Security-3.0.1中文官方文档（翻译版）</title><link>http://www.blogjava.net/xyz20003/archive/2010/01/19/310033.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Tue, 19 Jan 2010 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2010/01/19/310033.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/310033.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2010/01/19/310033.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/310033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/310033.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这次发布的Spring Security-3.0.1是一个bug fix版，主要是对3.0中存在的一些问题进行修正。文档中没有添加新功能的介绍，但是将之前拼写错误的一些类名进行了修正，建议开发者以这一版本的文档为参考。<br><br>另：Spring Security从2010-01-01以后，版本控制从SVN换成了GIT，我们在翻译文档的时候，主要是根据SVN的变化来进行文档内容的比对，这次换成GIT后，感觉缺少了之前那种文本比对工具，如果有对GIT熟悉的朋友，还请推荐一下文本比对的工具，谢谢。&nbsp;&nbsp;<a href='http://www.blogjava.net/xyz20003/archive/2010/01/19/310033.html'>阅读全文</a><img src ="http://www.blogjava.net/xyz20003/aggbug/310033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2010-01-19 09:37 <a href="http://www.blogjava.net/xyz20003/archive/2010/01/19/310033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>轻量级工作流jBPM-4.3官方“开发指南”中文版 </title><link>http://www.blogjava.net/xyz20003/archive/2009/12/30/307728.html</link><dc:creator>临远</dc:creator><author>临远</author><pubDate>Wed, 30 Dec 2009 03:19:00 GMT</pubDate><guid>http://www.blogjava.net/xyz20003/archive/2009/12/30/307728.html</guid><wfw:comment>http://www.blogjava.net/xyz20003/comments/307728.html</wfw:comment><comments>http://www.blogjava.net/xyz20003/archive/2009/12/30/307728.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/xyz20003/comments/commentRss/307728.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyz20003/services/trackbacks/307728.html</trackback:ping><description><![CDATA[<br />
<br />
<h1 class="title">jbpm4devguide</h1>
<div>
<h2 class="subtitle">jBPM-4.3开发手册</h2>
</div>
<div>
<p class="releaseinfo">1.0</p>
</div>
<div>
<p class="copyright">版权 &#169; 2009 Lingo</p>
</div>
<div>
<p class="pubdate">2009-05-16 19:29:47</p>
</div>
<hr />
<div class="toc"><dl><dt><span class="preface"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/preface.html">序言</a></span></dt><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/introduction.html">1. 简介</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/introduction.html#d4e21">1.1. 目标读者</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/introduction.html#d4e24">1.2. 概述</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/introduction.html#d4e36">1.3. 源代码和WIKI</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/introduction.html#d4e45">1.4. Maven仓库</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/introduction.html#d4e51">1.5. 依赖库</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html">2. 孵化器</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#timer">2.1. <code class="literal">timer定时器</code> </a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#duedateexpressions">2.1.1. 持续时间表达式</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#businesscalendar">2.1.2. 工作日历</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#timertransition">2.1.3. 定时器流向</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#timerevent">2.1.4. 定时器事件</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#timerbusinesstime">2.1.5. 定时器工作时间</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#timerrepeat">2.1.6. 定时器重复</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#group">2.2. <code class="literal">group</code>活动</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#groupsimple">2.2.1. 简单<code class="literal">group</code></a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#grouptimer">2.2.2. <code class="literal">group</code>定时器</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#groupmultipleentries">2.2.3. <code class="literal">group</code>多入口</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#groupconcurrency">2.2.4. <code class="literal">group</code>同步</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#groupsecret">2.2.5. <code class="literal">group</code>秘密</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#rulesdeployer">2.3. 规则发布器</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#java">2.4. <code class="literal">java</code> 活动</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#rulesdecision">2.5. <code class="literal">rules-decision</code> 活动</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#rules">2.6. <code class="literal">rules</code> 活动</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#jms">2.7. <code class="literal">jms</code> 活动</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#mockjmsproviderforeasytesting">2.7.1. 为简化测试模拟JMS提供器</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#testmessages">2.7.2. 文本消息</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#objectmessages">2.7.3. 对象消息</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#mapmessages">2.7.4. Map消息</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e597">2.8. 历史会话链</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e609">2.9. 创建认证组</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#taskforms">2.10. 任务表单</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#taskformsusage">2.10.1. 使用方法</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#taskformsformat">2.10.2. 表单格式</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#instancemigration">2.11. 实例迁移</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e651">2.11.1. 简单迁移</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e659">2.11.2. 结束运行中的实例</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e664">2.11.3. 版本范围</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e672">2.11.4. 活动映射</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e677">2.11.5. 迁移处理器</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e682">2.12. 用户对象缓存</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e687">2.13. 事务</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e689">2.13.1. 独立事务</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e692">2.13.2. JTA事务</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/incubation.html#d4e695">2.13.3. 用户事务</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html">3. BPMN 2.0</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#whatIsBpmn">3.1. BPMN 2.0是什么呢？</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#historyAndGodl">3.2. 历史和目标</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#jpdlVsBpmn2">3.3. JPDL vs BPMN 2.0</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#Bpmn2Execution">3.4. Bpmn 2.0 执行</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#bpmn2Config">3.5. 配置</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#bpmn2Examples">3.6. 实例</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#definitionsAndProcess">3.7. 流程根元素</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#basicConstructs">3.8. 基本结构</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#basicConstructsEvents">3.8.1. 事件</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#noneStartEvent">3.8.2. 事件：空启动事件</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#noneEndEvent">3.8.3. 事件：空结束事件</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#terminateEndEvent">3.8.4. 事件：终止结束事件</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#sequenceFlow">3.8.5. 顺序流</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#gateway">3.8.6. 网关</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#exclusiveGateway">3.8.7. 网关：唯一网关</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#parallelGateway">3.8.8. 网关：并行网关</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#task">3.8.9. 任务</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#userTask">3.8.10. 任务：人工任务</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#serviceTask">3.8.11. 任务：Java服务任务</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#scriptTask">3.8.12. 任务：脚本任务</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#manualTask">3.8.13. 任务：手工任务</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#receiveTaskJava">3.8.14. 任务：java接收任务</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/bpmn2.html#completeExample">3.9. 完全的实例（包括控制台任务表单）</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html">4. 从jBPM3转换到jBPM4</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#d4e1058">4.1. jBPM 4的目标</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#d4e1066">4.2. 知识范围</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#processconversiontool">4.3. 流程转换工具</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#d4e1086">4.3.1. 概述</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#d4e1091">4.3.2. 参数</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#d4e1098">4.3.3. 使用示例</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#d4e1101">4.3.4. 高级应用</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/migrationfromjbpm3.html#d4e1105">4.4. 解释和修改</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/processvirtualmachine.html">5. 流程虚拟机</a></span></dt><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html">6. 架构</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html#apis">6.1. APIs</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html#d4e1210">6.2. 活动API</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html#d4e1217">6.3. 事件监听API</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html#d4e1221">6.4. 客户端API</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html#d4e1225">6.5. 环境</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html#d4e1238">6.6. 命令</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/architecture.html#d4e1243">6.7. 服务</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html">7. 实现基本活动</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html#activity">7.1. ActivityBehaviour</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html#activitybehaviourexample">7.2. ActivityBehaviour实例</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html#externalactivitybehaviour">7.3. ExternalActivityBehaviour</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html#externalactivityexample">7.4. ExternalActivity实例</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html#basicprocessexecution">7.5. 基本流程执行</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html#events">7.6. 事件</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/implementingbasicactivities.html#d4e1512">7.7. 事件传播</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/processanatomy.html">8. 流程剖析</a></span></dt><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html">9. 高级图形执行</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#d4e1641">9.1. 循环</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#implicitproceedbehaviour">9.2. 默认执行行为</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#functionalactivities">9.3. 功能活动</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#executionandthreads">9.4. 执行和线程</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#d4e1704">9.5. 流程同步</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#d4e1726">9.6. 异常处理器</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#d4e1739">9.7. 流程修改</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/advancedgraphexecution.html#d4e1742">9.8. 锁定和流程状态</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/configuration.html">10. 配置</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/configuration.html#d4e1769">10.1. 基本配置</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/configuration.html#customizingthebusinesscalendar">10.2. 自定义工作日历</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/configuration.html#customizingtheidentitycomponent">10.3. 自定义身份认证组件</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/persistence.html">11. 持久化</a></span></dt><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jobexecutor.html">12. 计划执行器</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jobexecutor.html#overview">12.1. 概述</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jobexecutor.html#configuration">12.2. 配置</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html">13. 高级邮件支持</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#mailproducers">13.1. 生产者</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#defaultmailproducer">13.1.1. 默认生产者</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#mailtemplates">13.2. 模板</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#mailservers">13.3. 服务器</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#multiplemailservers">13.3.1. 多服务器</a></span></dt></dl></dd><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#extensibility">13.4. 扩展点</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#customproducers">13.4.1. 自定义生产者</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/mailsupport.html#custom%20attachments">13.4.1.1. 例子：自定义附件</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/softwarelogging.html">14. 软件日志</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/softwarelogging.html#d4e1974">14.1. 配置</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/softwarelogging.html#d4e1983">14.2. 目录</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/softwarelogging.html#d4e1989">14.3. JDK日志</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/softwarelogging.html#d4e2001">14.4. 调试持久化</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/history.html">15. 历史</a></span></dt><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jbossintegration.html">16. JBoss集成</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jbossintegration.html#d4e2025">16.1. 打包流程归档</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jbossintegration.html#d4e2029">16.2. 把流程归档发布成一个jBoss实例</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jbossintegration.html#d4e2034">16.3. 流程发布和版本管理</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/jbossintegration.html#d4e2038">16.4. 流程引擎和J2EE/JEE编程模型</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/springIntegration.html">17. Spring集成</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/springIntegration.html#spring_overview">17.1. 概述</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/springIntegration.html#spring_configuration">17.2. 配置</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/springIntegration.html#spring_usage">17.3. 使用</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/springIntegration.html#spring_testing">17.4. 测试</a></span></dt></dl></dd><dt><span class="chapter"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/signavio.html">18. Signavio web建模器</a></span></dt><dd><dl><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/signavio.html#signavioIntroduction">18.1. 简介</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/signavio.html#signavioInstallation">18.2. 安装</a></span></dt><dt><span class="section"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/signavio.html#signavioConfiguration">18.3. 配置</a></span></dt></dl></dd><dt><span class="appendix"><a href="http://www.family168.com/tutorial/jbpm4devguide/html/appendix-history.html">A. 修改日志</a></span></dt></dl></div>
<br />
<br />
<img src ="http://www.blogjava.net/xyz20003/aggbug/307728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyz20003/" target="_blank">临远</a> 2009-12-30 11:19 <a href="http://www.blogjava.net/xyz20003/archive/2009/12/30/307728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>