`

bbossgroups-3.2 发布,支持对象xml序列化功能

阅读更多
经过一段时间紧张的开发工作,bbossgroups-3.2 发布了,支持对象xml序列化功能,可以方便地对各种复杂数据类型进行序列化和反序列化,甚至是文件对象内容。相比3.1,这个版本做了非常大的改进和功能扩展,优化aop/ioc体系结构,并且基于ioc技术开发出了独具特色的对象序列化技术;mvc、持久层、标签库、任务调度都做了很大的改进;开发文档和培训ppt更加全面,在iteye开辟了bbossgroups专栏:
http://bbossgroups.group.iteye.com/group/wiki,可以在第一时间将框架的最新动态呈现给大家。
总体来说,3.2是自bbossgroups第一个版本发布以来,功能最完善、最稳定的一个版本,完全可以非常好地支撑起j2ee项目各个方面的开发工作。

bbossgroups project contain follow subprojects:
1.bboss-aop, an aop framework.(ioc ,rpc[jms,mina,jgroups,cxf webservice,rmi,netty,rest,组播,多播],
    bean component,cxf webservice component framworkset,jms components frameworkset,plugin security components and so on).
2.bboss-persistent, a persistent framework().
a.灵活的事务管理(声明式事务管理,可编程事务管理,java注解事务管理,jdbctemplate事务管理,五种经典的事务类型,支持事务嵌套,支持多数据库分布式事务)
b.灵活的访问数据库的接口(普通sql操作,预编译sql操作,普通/预编译批处理操作,存储过程,函数)
c.一套经典的数据库操作标签库(增删改查,普通sql操作,预编译sql操作,普通/预编译批处理操作)
d.经典的多数据库连接池配置管理和使用方法(所有的数据库操作接口可以直接指定连接池的名称,方便地实现对不同数据库的操作)
3.bboss-taglib, a web layer taglib framework(list tag,pageine list tag,detail tag ,logic tag,tree tag,tabpane tag,dbutil tag).
4.bboss-event, an event framework(local event,remote distribute event framework base aop rpc framework).
5.bboss-util, an utility framework.
6.bboss-soa:3.2版本新增模块,实现对象-xml序列化与反序列化功能
7.antbuildall, ant build project that build up projects.可以运行antbuildall下的run.bat命令编译所有的子项目,并且更新相应工程的依赖jars。
8.apache-ant-1.7.1 所有工程构建依赖的ant环境,bbossgroups的构建无需依赖外部ant环境,每个子工程下都有相应的执行ant的bat命令文件,直接运行这些bat就可以构建相应的
            工程,构建的目标文件存放在相应工程的distrib目录下面。
            bbossaop\run.bat
            bbossevent\run.bat
            bboss-mvc\build.bat
            bboss-persistent\run.bat
            bboss-taglib\run.bat
            bboss-util\run.bat
9.bboss-mvc,bboss mvc 框架隶属于开源项目bbossgroups,是基于bboss aop框架开发的轻量级mvc框架,提供以下功能:单方法action,多方法action,注解action 支持restful
            提供数据绑定功能提供国际化功能提供自定义主题功能提供一套界面展示标签提供数据自动校验功能,
            bboss-mvc提供多文件上传功能的支持,分页控制器的支持。能够非常方便地和jquery,exjs等流行的技术框架使用。

10.文档 目录包含mvc框架开发文档、framework 开发文档和bboss aop框架的技术使用文档、ppt培训文档等等

11.bbossgroups-min-eclipse.zip 框架最小依赖eclipse工程demo(mvc,taglib,aop,persistent,object servializable)
mvc:包含mvc,taglib,aop/ioc最小依赖eclipse工程和测试用例
persistent:包含persistent框架最小依赖eclipse工程和测试用例
xmlserializable:包含对象xml序列化技术最小依赖eclipse工程和测试用例


bboss group project blog:
http://yin-bp.javaeye.com/

bboss group project sourceforge site url:
http://sourceforge.net/projects/bboss/files/

release version : bbossgroups-3.2
release date: 2011/06/12
-----------------------------------------------------------------------------------------------****
release futures:

************************************************bbossgroups-3.2******************************
------2011-06-10------------
o 修正SQLExecutor中泛型字段查询API中的类型转换漏洞
------2011-06-09------------
o 处理空字符串向日期类型转换后台报异常的缺陷
------2011-06-09------------
o 注解控制器可以不用添加注解@Controller也可以被框架识别了
------2011-06-8------------
o 修正不正常的提示信息,externaljndiName
o 修复只配置外部数据源的情况下,pool启动堆栈溢出问题
    java.lang.StackOverflowError
at java.lang.Thread.currentThread(Native Method)
at org.apache.xerces.util.SecuritySupport12$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.xerces.util.SecuritySupport12.getContextClassLoader(Unknown Source)
at org.apache.xerces.util.ObjectFactory.findClassLoader(Unknown Source)
at org.apache.xerces.impl.dv.DTDDVFactory.getInstance(Unknown Source)
at org.apache.xerces.impl.dv.DTDDVFactory.getInstance(Unknown Source)
at
修改程序清单:
com.frameworkset.common.poolman.sql.PoolMan
com.frameworkset.common.poolman.util.JDBCPool
com.frameworkset.common.poolman.util.SQLManager
com.frameworkset.common.poolman.util.SQLUtil
public static JDBCPool getJDBCPoolByJNDIName(String jndiname)
        {
            JDBCPool pool = SQLUtil.getSQLManager().getPoolByJNDIName(jndiname,true);
            return pool;
        }
       
        public static JDBCPool getJDBCPoolByJNDIName(String jndiname,boolean needcheckStart)
        {
            JDBCPool pool = SQLUtil.getSQLManager().getPoolByJNDIName(jndiname,needcheckStart);
            return pool;
        }

------2011-06-06------------
o 完善responsebody注解功能,增加datatype和charset两个属性
datatype:json,xml等值,用来指出输出数据的content类型
charset:用来指出reponse响应字符编码
详细使用方法请参考测试用例
org.frameworkset.web.enumtest.EnumConvertController
org.frameworkset.web.http.converter.json.JsonController
------2011-06-04------------
o 逻辑标签可以独立于list和beaninfo标签使用,增加以下属性:
<attribute>
<name>requestKey</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>sessionKey</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pageContextKey</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>parameter</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>actual</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
通过以上属性,可以方便地制定逻辑标签的期望值,
requestKey:指定从request的attribute属性中获取实际值,
sessionKey:指定从session的attribute属性中获取实际值,
pageContextKey:指定从pageContext的attribute属性中获取实际值,
parameter:指定从request的parameter中获取实际值
actual:直接指定实际值,可以是具体的值,也可以是一个el变量
上述属性还可以和property属性结合起来获取值对象中的属性值
------2011-06-04------------
o request和session标签增加日期dateformat格式属性

------2011-06-03------------
o 修复config标签enablecontextmenu属性不能正常工作的漏洞
------2011-06-2------------
o 修复使用Column注解设置对象属性与列名映射时,导致sql语句中绑定相应的属性变量值失败的漏洞

------2011-05-28-----------
o 修复quartz引擎加载带参数方法任务时,后台抛空指针异常,这是3.1版本产生的新问题,影响新
版本的使用
o 完善任务调度管理组件org.frameworkset.task.TaskService
完善stopService方法和startService方法,解决停止引擎后,无法启动引擎的问题,增加方法stopService(boolean force)
增加方法,一边在执行public void deleteJob(String jobname, String groupid)方法后重新加载作业
public void startExecuteJob(String groupid, String jobname)
------2011-05-28------------
o 支持Map<Key,PO>类型参数绑定机制,通过这种机制可以非常方便地将表单提交过来的一个对象集合数据
根据key对应的字段值,形成Map索引对象。
使用方法如下:
public String mapbean(@MapKey("fieldName") Map<String,ListBean> beans, ModelMap model) {
String sql = "INSERT INTO LISTBEAN (" + "ID," + "FIELDNAME,"
+ "FIELDLABLE," + "FIELDTYPE," + "SORTORDER,"
+ " ISPRIMARYKEY," + "REQUIRED," + "FIELDLENGTH,"
+ "ISVALIDATED" + ")" + "VALUES"
+ "(#[id],#[fieldName],#[fieldLable],#[fieldType],#[sortorder]"
+ ",#[isprimaryKey],#[required],#[fieldLength],#[isvalidated])";
TransactionManager tm = new TransactionManager();
try {
if(beans != null)
{
List temp =  convertMaptoList( beans);

tm.begin();
SQLExecutor.delete("delete from LISTBEAN");
SQLExecutor.insertBeans(sql, temp);
tm.commit();
model.addAttribute("datas", temp);
}
} catch (Exception e) {
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// TODO Auto-generated catch block
e.printStackTrace();
}

return "path:mapbean";
}
详情请参考测试用例:
/bboss-mvc/WebRoot/WEB-INF/bboss-mapbean.xml
------2011-05-26------------
o 新增empty和notempty两个逻辑标签使用方法和null、notnull一样
empty判断指定的字段的值是否是null,或者空串,如果条件成立,则执行标签体中的逻辑
notempty判断指定的字段的值既不是null也不是空串,则执行标签体得内容
------2011-05-24------------
o 修改null和notnull标签不能正确工作的问题
o 修复detail标签的提示信息不是很正确的问题
###################################################################################
------2011-05-20------------
o 修复引用容器datasource漏洞
o 修复通过模板启动数据源参数设置问题
o 修复一系列空指针问题
o 修复使用外部数据源时,当外部数据源是oracle时无法获取数据源的元数据问题,必须制定相应数据库的驱动程序,否则无法初始化正确的dbadapter
------2011-05-20-----------
o 增加rmi服务发布和rmi客服端组件获取功能
发布服务方法,通过 rmi:address指定发布服务的唯一地址:
<property name="rmi_service_test"
rmi:address="rmi_service_test"
class="org.frameworkset.spi.remote.rmi.RMIServiceTest"/>
服务器port的指定在rmi协议配置文件中:
/bbossaop/resources/org/frameworkset/spi/manager-rpc-rmi.xml
<!--
服务器绑定端口
-->
<property name="connection.bind.port" value="1099" />

rmi客服端组件配置和获取:
配置
<property name="rmi_service_client_test" factory-class="org.frameworkset.spi.remote.rmi.RMIUtil" factory-method="lookupService">
<construction>
<property name="servicaddress" value="//172.16.25.108:1099/rmi_service_test"/>
</construction>
</property>

获取:
BaseApplicationContext context ;
@Before
public void init()
{
context = ApplicationContext.getApplicationContext("org/frameworkset/spi/remote/rmi/rmi-client.xml");
}
@Test
public void test() throws RemoteException
{
RMIServiceTestInf test = (RMIServiceTestInf)context.getBeanObject("rmi_service_client_test");
System.out.println(test.sayHello("多多"));
}
------2011-05-17------------
o 修复sqlexecutor对日期类型timestamp处理丢失时分秒的缺陷



------2011-05-15-----------
o 改进国际化机制,每个组件容器相关的国际化文件必须和组件容器的根配置文件在同级目录,并且名称以下格式命名:
messages_en_US.properties
messages_zh_CN.properties
o 改进sql配置文件刷新机制,将3.1版本中每个sql配置文件定义一个守护进程改为单一守护进程检测机制,即所有的sql文件是否
变更的检测由一个守护进程完成,这个进程中维护一个文件队列,刷新事件配置也由manager-provider.xml文件改为:
/bbossaop/src/aop.properties中配置:
sqlfile.refresh_interval=5000
同时将sql配置文件的管理容器改为SOAFileApplicationContext,以便提升系统性能


------2011-05-11-----------
o 改进ApplicationContext,WebApplicationContext容器,分离出SOAApplicationContext、BaseApplicationContext和DefaultApplicationContext三个类型的容器,他们的职责分别为:
ApplicationContext:和原来的功能ApplicationContext的功能一致,包括基本的aop/ioc功能,远程服务,全局属性管理,拦截器,包含声明式事务管理,是BaseApplicationContext的子类
SOAApplicationContext/SOAFileApplicationContext:两个轻量级的ioc容器,包含全局属性管理,不包含远程服务,拦截器,不包含声明式事务管理,是DefaultApplicationContext的子类
DefaultApplicationContext:和ApplicationContext的区别就是不包含远程服务的功能,和远程服务相关的组件没有依赖关系,是BaseApplicationContext的子类
BaseApplicationContext:是一个抽象容器,所有的上层容器都间接或直接实现了这个容器,提供公共的基础功能。
WebApplicationContext:是mvc框架的控制器和业务组件管理容器,是DefaultApplicationContext的子类,拥有DefaultApplicationContext的所有功能。

------2011-05-11------------
o 完善restful实现机制,可以支持对控制器方法级别的restful全地址映射关系并修复了部分缺陷,3.0版本需要根据类级别和方法级别地址组合才能实现
  restful风格的功能,而且存在缺陷。
o aop框架中实现对象与xml相互转化功能

------2011-05-06------------
o 修复循环依赖机制漏洞
o 修复quartz任务调度导致模块中没有配置任何任务时,后台抛出类型转换异常
o 修复3.0版本中没有将组件实例机制定义为单例模式的漏洞,但是ppt培训教程中却明确指出该版本中的组件默认为单例模式

上述3个漏洞修复的程序为:
/bbossaop/src/org/frameworkset/spi/assemble/BeanAccembleHelper.java
/bbossaop/src/org/frameworkset/spi/assemble/Pro.java
/bbossaop/src/org/frameworkset/spi/assemble/ProviderParser.java
------2011-05-06------------
o 修复分页标签偶尔找不到vm模板文件的漏洞
上述漏洞修复的程序为:
/bboss-util/src/com/frameworkset/util/VelocityUtil.java
------2011-05-03------------
o 修复在事务环境下通过JDBCPool的方法
public TableMetaData getTableMetaDataFromDatabase(Connection con,
String tableName)
获取不到特定数据源的表元数据的问题
------2011-05-03------------
o 修复preDBUtil.preparedSelect(params, dbName, sql, offset, long)
在查询没有数据的情况下,preDBUtil.getMeta()返回的是null;


各子项目新增功能和修改功能清单请参考每个项目中的readme.txt文件。
分享到:
评论
2 楼 yin_bp 2011-06-29  
好用就好啊,我的心血没有白费啊
1 楼 ainidehsj 2011-06-28  
呵呵,试了一下,感觉比Xstream好用,更简洁。

相关推荐

    bbossgroups 3.0 发布,国内首款集

    近日,bbossgroups 3.0 正式发布,这款国内首款集AOP(面向切面编程)、MVC(模型-视图-控制器)、Persistent(持久化)、JSP Taglib(JSP 标签库)、分布式RPC服务及分布式事件框架于一体的J2EE开发框架,为开发者...

    bbossgroups 开发系列文章之一 最佳实践

    bbossgroups是一个开源的企业级Java应用框架,旨在简化企业级开发,提高开发效率。本文将深入讲解bbossgroups开发系列文章之一中的最佳实践,涉及bboss MVC框架的基础配置、控制器、数据库访问、DAO组件、业务组件...

    bbossgroups 3.1SQLExecutor组件ap使用实例

    在Java开发中,bbossgroups 3.1框架提供了一个名为SQLExecutor的组件,用于简化数据库操作。这个组件提供了一种高效的批处理和单条SQL执行的方式,它基于Apache License 2.0开源,允许开发者在遵守相应条款的情况下...

    Bbossgroups体系架构.ppt

    4. **国际化与主题管理**:Bbossgroups支持多语言环境,通过MessageResource实现国际化消息资源管理,而Theme机制则允许用户自定义界面主题,满足不同用户的个性化需求。 5. **RESTful架构**:Bboss支持RESTful风格...

    bbossgroups 3.0 培训教程

    这个框架以其强大的消息队列(Message Queue)功能和高度模块化的架构而闻名。在3.0版本中,bbossgroups进一步提升了性能和稳定性,为开发者提供了更多高级特性和优化。 ### 一、bbossgroups 3.0 的核心特性 1. **...

    bbossgroups 3.1培训教程.ppt

    总之,bbossgroups 3.1是一个功能强大且全面的企业级开发框架,它的组件异步调用、MVC地址别名配置、SQL配置管理等功能显著提高了开发效率和系统的灵活性。随着不断的发展和更新,bbossgroups将持续为企业级应用提供...

    企业级J2EE开源框架bboss

    BBoss框架的最新版本bbossgroups-bboss-389b83a可能包含了对原有功能的优化、新特性的添加以及bug修复。开发者在使用时,应详细阅读官方文档,了解其具体变更,以便更好地利用这一强大的工具进行企业级应用的开发。 ...

    基于Java和Shell的bboss session framework跨域集群节点会话共享与监控设计源码

    该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6个Gradle构建文件、6个JAR包文件、6个属性文件等,旨在支持跨域应用集群节点的会话共享与监控,并提供示例站点http://session.bbossgroups.com/...

    2013年度中国优秀开源项目列表

    12. bboss:bbossgroups是首个集成AOP、MVC、持久层、JSP标签库、分布式RPC服务和序列化组件的JavaEE企业级开发框架。 13. BeeFramework:BeeFramework是iOS平台的快速开发框架,特点包括易学易用、组件丰富,提供...

    bboss-elastic-tran:bboss 数据同步工具

    弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的... 首先将BBoss的maven依赖项添加到pom.xml中: &lt; dependency&gt; &lt; groupId&gt;com.bbossgroups.p

    java版地图源码-bboss-elasticsearch:最好的elasticsearch高级javarest客户端api-----bbos

    java版地图源码弹性搜索Bboss Bboss 是一个很好的 elasticsearch Java rest 客户端。 它以类似于mybatis的方式操作...首先将BBoss的maven依赖添加到你的pom.xml中: &lt; dependency &gt; &lt; groupId &gt;com.bbossgroups.p

    bboss mvc 通过jsonp实现跨站跨域远程访问

    提供的压缩包文件"bbossgroups 框架培训教程.pptx"和"Bbossgroups演示文档.pptx"可能包含了更多关于bboss mvc框架的详细信息和使用示例,包括如何配置和使用JSONP等特性。建议查阅这些文档以获取更深入的理解。 总...

Global site tag (gtag.js) - Google Analytics