activiti工作流框架初次发布就遇到乱码问题

公司用到工作流框架 打算自己下过来 了解一下用法
这个框架的入门真的是蛮烦的 用户手册根本没法看 
最后找到个请假案例
http://blog.csdn.net/a67474506/article/details/38266129
前面按照所说部署后 在发布流程的时候 会报这样一个错误
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?肟駴?譯冟詌鹧L鹆LP
偋^x㏑{御??r??ヘN??橘噤汆屡?P*會?啁谶}' at line 2
一个语法错误,又伴随着乱码,当时第一思路是语法有问题,因为百度的时候有看到一个说与MYSQL的保留字leave冲突的例子,于是把所有的leave换成leaves,结果还是一样的错误,于是打算先把乱码解决了再说,把数据库,eclipse,换成utf8后依然没有解决,最后再环境变量中也去设置了utf8,依然没有。然后就没有别的思路了
一筹莫展到处乱看的时候,发现这么一个思路
//开始莫名其妙遇到数据库连接乱码,后台强行把jdbc改成这样就没事了(为什么说强行,因为很多示例都没有这么加)
jdbc:mysql://localhost:3306/activiti?useUnicode=true;characterEncoding=utf-8
于是我也这样弄了,不过要指出的是,中间的分号“;”,要用`&`代替

这样就完成了流程的发布,以前不明白数据库连接为什么一定要这样写,这下认识到了,至少是个排除办法

总结下跑通流程后出现的问题
1.框架的配置文件一定要写成activiti.cfg.xml,原文有写   是因为框架源码就这样写死的。
2.
@Test
    public void deployFlow() {
            RepositoryService repositoryService = processEngine
                    .getRepositoryService();
            InputStream in = this.getClass().getClassLoader()
                    .getResourceAsStream("myActiviti.zip");
            ZipInputStream zipInputStream = new ZipInputStream(in);
            DeploymentBuilder addZipInputStream = repositoryService.createDeployment()
                    .addZipInputStream(zipInputStream).name("myProcess");
            addZipInputStream.deploy();
    }

这段中方法内第一行processEngine.getRepositoryService();
其中processEngine的声明是通过如下代码生成的全局变量

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
3、数据库连接写错的话只会报空指针异常 是因为ProcessEngines.getDefaultProcessEngine();这段代码要解析配置文件,数据库没连上解析不成功 ,所以实例化一个null出来

你可能感兴趣的:(activiti工作流框架初次发布就遇到乱码问题)