OFBiz常用代码片段分享

1、快速封装需要调用services 的参数

ModelService promoModel = dctx.getModelService( "updateContent" );
Map<String, Object> invokeCtx = promoModel.makeValid(tempMap, ModelService.IN_PARAM);

2、快速验证services返回是否正确和错误信息

ServiceUtil.isError(result)
ServiceUtil.getErrorMessage(result)

3、快速将一个实体对象转换成Map

Map<String,Object> tempMap = genericvalue.getAllFields();

4、在screen中使用groovy调用java方法

<actions>
    <set field= "productStore"  value= "${groovy: org.ofbiz.product.store.P[......]

继续阅读

Ofbiz tenant架构配置

一、 手动配置一个 demo
a) 配置好 OFBiz 的主数据库和 tenant 多租户数据库,

配置 default 的主数据库 org.ofbiz 和 tenant 的配置数据库 org.ofbiz.tenant (里面存放的是每个 tenant 的数据库配置、默认的模块等信息),这里已 mysql 数据库为案例,下面的具体配置就不贴了,就是默认的。

b) 配置一个 demo 的 tenant
打开 OFBIZ-HOME/framework/entity/data/TenantDemoData.xml.xml 配置这个 demo tenant 的数据库配置,如下

这里需要注意的是,如果使用mysql数据库的话,必须提前创建好数据库,mysql不知道有没有自动创建数据库的功能,我没找到,到时候可以使用shell或者其他方式来做。并且在TenantDataSource标签的entityGroupName属性不能写org.ofbiz.tenant

c) load-demo 后,会在 tenant 的配置数据库中写入所有的 tennat 的配置,包括数据库信息,可以使用的组[……]

继续阅读