工作流学习笔记(一)
来源:互联网 发布:出库单打印软件 编辑:程序博客网 时间:2024/05/29 14:30
这几天在学习工作流,照着史蒂芬的笔记做请假工作的例子过程中,遇到了一些问题,
其中一个问题困扰了我好几天 。纪录下来
第一个异常是配置数据库的:org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for onnect URL 'null'
这个问题到网上一查很多相关的网友都遇到了这个问题,但是他们说的那些出错的地方我都没有错
同事也帮我找,也感觉这么配置不应该出现任何问题了,最后,感觉应该是和tomcat服务器有关。
换了个版本果然问题不存在了,最后张姐帮助我解决了这个问题,原来在配置数据库的时候tomcat5.0和tomcat5.5有一些差别把他们贴出来,这个是5.5的,只需要在server.xml文件中加入这段代码就可以
<Context
docBase="myfirstworkflow"
path="/myfirstworkflow"
reloadable="true">
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
username="sa"
password="syb"
url="jdbc:jtds:sqlserver://localhost:1433/workflow"
defaultAutoCommit="true"
removeAbondoned="true"
removeAbondonedTimeout="60"
logAbondoned="true"
/>
</Context>
5.0的则麻烦一些
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<!-- Comment out these entries to disable JMX MBeans support -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to -1 for no limit. See also the DBCP documentation on this
and the minEvictableIdleTimeMillis configuration parameter.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>syb</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://localhost:1433/workflow</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service name="Catalina">
<Connector
port="5566" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<Context path="/myfirstworkflow" reloadable="true" docBase="/myfirstworkflow" >
<ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/>
</Context>
</Host>
</Engine>
</Service>
</Server>
这样配置,问题就解决了。
另一个问题:javax.naming.NameNotFoundException: DefaultDS not bound
我原来配置的是DefaultDS数据源,后来把这个数据源改称test了。但是控制台却出现了这个异常。这个原因很简单,是因为我没有配置propertyset.xml文件,重新配置了这个文件后问题解决了。文件内容如下
<propertysets>
<propertyset name="jdbc" class="com.opensymphony.module.propertyset.database.JDBCPropertySet">
<arg name="datasource" value="jdbc/test"/>
<arg name="table.name" value="OS_PROPERTYENTRY"/>
<arg name="col.globalKey" value="GLOBAL_KEY"/>
<arg name="col.itemKey" value="ITEM_KEY"/>
<arg name="col.itemType" value="ITEM_TYPE"/>
<arg name="col.string" value="STRING_VALUE"/>
<arg name="col.date" value="DATE_VALUE"/>
<arg name="col.data" value="DATA_VALUE"/>
<arg name="col.float" value="FLOAT_VALUE"/>
<arg name="col.number" value="NUMBER_VALUE"/>
</propertyset>
</propertysets>
其中一个问题困扰了我好几天 。纪录下来
第一个异常是配置数据库的:org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for onnect URL 'null'
这个问题到网上一查很多相关的网友都遇到了这个问题,但是他们说的那些出错的地方我都没有错
同事也帮我找,也感觉这么配置不应该出现任何问题了,最后,感觉应该是和tomcat服务器有关。
换了个版本果然问题不存在了,最后张姐帮助我解决了这个问题,原来在配置数据库的时候tomcat5.0和tomcat5.5有一些差别把他们贴出来,这个是5.5的,只需要在server.xml文件中加入这段代码就可以
<Context
docBase="myfirstworkflow"
path="/myfirstworkflow"
reloadable="true">
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
username="sa"
password="syb"
url="jdbc:jtds:sqlserver://localhost:1433/workflow"
defaultAutoCommit="true"
removeAbondoned="true"
removeAbondonedTimeout="60"
logAbondoned="true"
/>
</Context>
5.0的则麻烦一些
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<!-- Comment out these entries to disable JMX MBeans support -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to -1 for no limit. See also the DBCP documentation on this
and the minEvictableIdleTimeMillis configuration parameter.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>syb</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://localhost:1433/workflow</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service name="Catalina">
<Connector
port="5566" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<Context path="/myfirstworkflow" reloadable="true" docBase="/myfirstworkflow" >
<ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/>
</Context>
</Host>
</Engine>
</Service>
</Server>
这样配置,问题就解决了。
另一个问题:javax.naming.NameNotFoundException: DefaultDS not bound
我原来配置的是DefaultDS数据源,后来把这个数据源改称test了。但是控制台却出现了这个异常。这个原因很简单,是因为我没有配置propertyset.xml文件,重新配置了这个文件后问题解决了。文件内容如下
<propertysets>
<propertyset name="jdbc" class="com.opensymphony.module.propertyset.database.JDBCPropertySet">
<arg name="datasource" value="jdbc/test"/>
<arg name="table.name" value="OS_PROPERTYENTRY"/>
<arg name="col.globalKey" value="GLOBAL_KEY"/>
<arg name="col.itemKey" value="ITEM_KEY"/>
<arg name="col.itemType" value="ITEM_TYPE"/>
<arg name="col.string" value="STRING_VALUE"/>
<arg name="col.date" value="DATE_VALUE"/>
<arg name="col.data" value="DATA_VALUE"/>
<arg name="col.float" value="FLOAT_VALUE"/>
<arg name="col.number" value="NUMBER_VALUE"/>
</propertyset>
</propertysets>
- 工作流学习笔记(一)
- Activiti学习笔记一 工作流基本概念
- Activity工作流引擎学习笔记(一)
- Activiti工作流框架学习笔记(一)
- Activiti工作流开发学习笔记(一)
- 工作流开发笔记一
- 工作流学习(一)
- 工作流学习(一)
- ofbiz——工作流学习笔记一(xpdl)
- 工作流学习笔记(二)
- POSIX 学习笔记---工作流
- K2工作流学习笔记
- Activiti工作流学习笔记
- activiti工作流学习笔记
- ofbiz工作流学习(一)
- shark工作流学习(一)
- shark工作流学习(一)
- shark工作流学习(一)
- JUnit实现单元测试
- Log4Net使用指南 [zt]
- BASH SHELL 程序设计简介(ZZ)
- flashback命令
- Log4Net五步走【zt】
- 工作流学习笔记(一)
- 认识A2DP
- 遭遇Trojan.PSW.ZhengTu,Trojan.PSW.OnlineGames,Trojan.PSW.ZhuXian.b等
- Oracle字符集问题总结
- ANSI/ISO C++ Professional Programmer's Handbook 2
- XMPP协议简介(文章最后提供Smack文档中文版下载地址)
- Java疑惑点解析(一)
- DataList控件里添加Button,运行点击出现“回发或回调参数无效”的解决办法
- 表达式 (MDX)