怎样创建ProcessDefinition对象???
是这样的,我想部署一个流程,原来用的数据库是mysql部分代码是这样的:
实体类:
/**
* 流程定义文件
* @hibernate.property
* type="binary"
* length="99999999"
*/
private byte[] processDefinition;
/**
* 流程定义图片
* @hibernate.property
* type="binary"
* length="99999999"
*/
private byte[] processImage;
映射文件:
<property name="processDefinition" length="99999999" type="binary"/>
<property name="processImage" length="99999999" type="binary"/>
接口:
/**
* 部署流程定义
* @param processDefinition
* @param processImage
*/
public void deployProcessDefinition(byte[] processDefinition,byte[] processImage);
实现:
public void deployProcessDefinition(byte[] processDefinition,
byte[] processImage) {
//通过byte[]创建ProcessDefinition对象
ProcessDefinition def =
ProcessDefinition.parseXmlInputStream(
new ByteArrayInputStream(processDefinition));
//将流程定义文件部署到JBPM
getContext().deployProcessDefinition(def);
==============================以下略=======================================
现在用的是 oracle数据库,再用上边的建表就不行啦,提示不能有2个length的列,我就把流程定义的类型改为String了,
可是在实现的时候,
//这个地方和mysql数据库的不一样,前者用的byte[],后者用的String/
public void deployProcessDefinition(String processDefinition,
byte[] processImage) {
//通过String 创建ProcessDefinition对象
ProcessDefinition def =
ProcessDefinition.parseXmlInputStream(
new StringArrayInputStream(processDefinition));
提示我创建一个StringArrayInputStream 的类,这是自动生成的代码
public class StringArrayInputStream extends InputStream {
@Override
public int read() throws IOException {
// TODO Auto-generated method stub
return 0;
}
}
难道我要在这个类里写一个文件上传?原来的什么都没有些,。