osworkflow的数据库配置(mysql)

2016-02-19 15:34 8 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的osworkflow的数据库配置(mysql),希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

  今天研究了一下osworkflow,想运行一下他的例子程序看看效果。结果在配置与数据库连接方面出了问题,郁闷至极。

  我用的是mysql数据库,按照

  http://www.opensymphony.com/osworkflow/1.3%20Running%20the%20Example%20App.html一步一步的配置。

  我的配置文件具体如下:

  1:在tomcat的conf目录下修改server.xml,增加以下内容

  

Context path="/osworkflow_example" docBase="osworkflow-2.7.0-example"
debug= "99" reloadable="true" crossContext="true" verbosity="DEBUG"
!-- debug level is set to paranoid, to know what is happening,
turn it off once you do not need it --
Logger className="org.apache.catalina.logger.FileLogger"
prefix="OSWorkflow." suffix=".log" timestamp="true"/
!--
put log4j.jar into:
TOMCAT_ROOT/webapp/osworkflow-2.7.0-example/WEB-INF/lib
if you want to use it for logging
--
Resource name="jdbc/DefaultDS"
auth="Container"
type="javax.sql.DataSource"/
ResourceParams name="jdbc/DefaultDS"
parameter
namefactory/name
valueorg.apache.commons.dbcp.BasicDataSourceFactory/value
/parameter
!--
parameter
namefactory/name
valueorg.apache.catalina.users.MemoryUserDatabaseFactory/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
namemaxActive/name
value100/value
/parameter
!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
--
parameter
namemaxIdle/name
value30/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
namemaxWait/name
value10000/value
/parameter
!-- MySQL dB username and password for dB connections --
parameter
nameusername/name
valueroot/value
/parameter
parameter
namepassword/name
value/value
/parameter
!-- Class name for mm.mysql JDBC driver --
parameter
namedriverClassName/name
valueorg.gjt.mm.mysql.Driver/value
/parameter
!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
--
parameter
nameurl/name
valuejdbc:mysql://localhost:3306/osworkflow?autoReconnect=true/value
/parameter
/ResourceParams
/Context

  2:配置osworkflow.xml(在WEB-INFclasses目录下),内容如下:

  

osworkflow
persistence class="com.opensymphony.workflow.spi.jdbc.MySQLWorkflowStore"
!-- For jdbc persistence, all are required. --
property key="datasource" value="jdbc/DefaultDS"/
property key="entry.sequence"
value="select count(*) + 1 from os_wfentry"/
property key="entry.table" value="OS_WFENTRY"/
property key="entry.id" value="ID"/
property key="entry.name" value="NAME"/
property key="entry.state" value="STATE"/
!--
property key="step.sequence" value="select sum(c1) from
(select 1 tb, count(*) c1 from os_currentstep
union select 2 tb, count(*) c1 from os_historystep)"/
--
property key="step.sequence" value="select sum(c1) + 1 from (select 1 as
tb, count(*) as c1 from os_currentstep union select 2 as tb, count(*) as c1
from os_historystep) as TabelaFinal" /
property key="step.sequence.increment" value="INSERT INTO OS_STEPIDS (ID) values (null)"/
property key="step.sequence.retrieve" value="SELECT max(ID) FROM OS_STEPIDS"/
property key="history.table" value="OS_HISTORYSTEP"/
property key="current.table" value="OS_CURRENTSTEP"/
property key="historyPrev.table" value="OS_HISTORYSTEP_PREV"/
property key="currentPrev.table" value="OS_CURRENTSTEP_PREV"/
property key="step.id" value="ID"/
property key="step.entryId" value="ENTRY_ID"/
property key="step.stepId" value="STEP_ID"/
property key="step.actionId" value="ACTION_ID"/
property key="step.owner" value="OWNER"/
property key="step.caller" value="CALLER"/
property key="step.startDate" value="START_DATE"/
property key="step.finishDate" value="FINISH_DATE"/
property key="step.dueDate" value="DUE_DATE"/
property key="step.status" value="STATUS"/
property key="step.previousId" value="PREVIOUS_ID"/
/persistence
/osworkflow

  3:增加propertyset.xml(在WEB-INFclasses目录下),内容如下:

  

propertysets
propertyset name="jdbc" class="com.opensymphony.module.propertyset.database.JDBCPropertySet"
arg name="datasource" value="jdbc/DefaultDS"/
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

  4:修改web.xml,内容如下:

  

?xml version="1.0" encoding="ISO-8859-1"?
!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";
web-app
display-nameOSWorkflow Example App/display-name
welcome-file-list
welcome-filedefault.jsp/welcome-file
/welcome-file-list
resource-ref
descriptionOSWorkflow Example App/description
res-ref-namejdbc/DefaultDS/res-ref-name
res-ref-typejavax.sql.DataSource/res-ref-type
res-authContainer/res-auth
/resource-ref
/web-app

  5:将jboss-j2ee.jar拷贝到tomcat_homecommonendorsed目录下

  6:将驱动程序拷贝到tomcat_homecommonlib目录下

  7:启动tomcat但是报以下错误

  严重: Parse error in application web.xml

  java.lang.NullPointerException

  at org.apache.commons.digester.Digester.createSAXException(Digester.java

  :2540)

  at org.apache.commons.digester.Digester.createSAXException(Digester.java

  :2566)

  at org.apache.commons.digester.Digester.endElement(Digester.java:1061)

  at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source

  )

  at org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown

  Source)

  at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown S

  ource)

  at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)

  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(

  Unknown Source)

  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  Dispatcher.dispatch(Unknown Source)

  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un

  known Source)

  at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

  at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

  at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

  at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

  at org.apache.commons.digester.Digester.parse(Digester.java:1548)

  at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextCo

  nfig.java:263)

  at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:62

  4)

  at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi

  g.java:216)

  at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl

  eSupport.java:119)

  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4

  290)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase

  .java:823)

  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:80

  7)

  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)

  at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDep

  loyer.java:277)

  at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)

  at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:625

  )

  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431

  )

  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)

  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java

  :349)

  at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl

  eSupport.java:119)

  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)

  at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)

  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)

  at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478

  )

  at org.apache.catalina.core.StandardService.start(StandardService.java:4

  80)

  at org.apache.catalina.core.StandardServer.start(StandardServer.java:231

  3)

  at org.apache.catalina.startup.Catalina.start(Catalina.java:556)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

  java:39)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces

  sorImpl.java:25)

  at java.lang.reflect.Method.invoke(Method.java:324)

  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)

  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)

  2005-1-26 10:57:44 org.apache.catalina.startup.ContextConfig applicationConfig

  严重: Occurred at line 16 column 16

  2005-1-26 10:57:44 org.apache.catalina.startup.ContextConfig start

  严重: Marking this application unavailable due to previous error(s)

  2005-1-26 10:57:44 org.apache.catalina.core.StandardContext start

  严重: Error getConfigured

  2005-1-26 10:57:44 org.apache.catalina.core.StandardContext start

  严重: Context startup failed due to previous errors

来源:http://www.tulaoshi.com/n/20160219/1609914.html

延伸阅读
标签: Web开发
1.在$CATALINA_HOME/conf/server.xml中添加配置信息,声明连接池的具体信息,添加内容如下: !--声明连接池-- Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/ !-- 对连接池的参数进行设置 -- ResourceParams name="jdbc/mysql" parameter namefactory/name ...
1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec)  2、创建一个数据库abccs mysql CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库...
标签: MySQL mysql数据库
因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法。 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的...
原始的是Windows 2003下的32位的MySQL数据库, 新的服务器是Sun的64位的小型机,64位的MySQL数据库。 数据库文件很大,约有70G, 如果普通的迁移,需要在原始数据库导出数据,然后在新数据库导入数据 经仔细考虑,是否MySQL的数据库文件存储格式在不同的操作系统相同呢? 测试过程如下: 在64位SUN机器上安装64位版的MySQL 停止MySQL服...
标签: MySQL mysql数据库
1、MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份。 2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从...

经验教程

953

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部