断点

每天进步一点点!
posts - 174, comments - 56, trackbacks - 0, articles - 21

一直以来习惯用EditPlus查看.xml文件,但EditPlus总是自动生成一个.BAK文件。

其实想去掉EditPlus的自动备份功能也简单,方法如下:

打开菜单栏上的:工具(T)->参数选择(P)->文件
取消“保存时自动创建备份文件”前的复选框中选择状态即可。

Tools-->Preference-->选中Files-->Create backup file when saving的复选框中的勾去掉即可。


posted @ 2009-03-17 10:14 断点 阅读(680) | 评论 (3)

posted @ 2010-01-14 23:07 断点 阅读(501) | 评论 (0)编辑 收藏

基本概念:
工作流:两个或两个以上的人,为了共同的目标,连续的以串行或并行的方式去完成某一业务。
工作流管理系统的定义:是解释已定义好的工作流,产生并管理触发请求、警告,并且与外部系统进行交互。其实,工作流管理系统的核心是工作流引擎。说白了,工作流引擎就是一段程序,负责一些东西的流转。
两个或两个以上的人:一个人处理的业务不称其为工作流,只有任务从一个人"流"向另一个人的时候,才有工作流。   
共同的目标:个体参与工作流必须是为了同一个工作目标。

 
在工作流自动化出现以前,所有的工作流都是通过手工实现的。
例子:较典型的是某项任务中的步骤要求参与者批阅文档或表格组成的文件。完成批阅及填写完表格中的相关内容后,文件被人工地传到下一
步的执行者。需要对进程的参与者进行关于进程路由的培训,否则文件就会留在文件夹里得不到处理。
缺点:   
高度依赖纸张;  
劳动强度大;  
流程不严密,任务执行不易贯彻;   
无法对流程的过程进行监控;  
无法度量进程时间和统计进程的成本。

工作流解决方案与传统管理软件的关系:
1、传统的管理软件注重解决企业应用层现存的问题(例如提高企业的资源配置率或提高单一员工的生产效率)。
EXCEL可以提高员工画表格的效率、财务软件可以规范财务人员的工作并提高帐目查询的效率、CRM可以规范客户管理从而使客户资源掌握在公
司手中而不是被一部分业务人员把持并提高客户响应时间、ERP解决的是如何配置企业资源使企业的人力资源、财力资源和物资资源能够根据业务的需求实现最大化配置。
2、workflow关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力并使企业能够关注于真正对企业有意义的增值业务上。
3、传统软件不能解决工作流的问题,例如ERP关注的是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的成本;同样workflow也不能完全解决传统管理软件所能解决的问题,例如对生产管理的MRP系统所能解决的生产过程控制通过workflow很难实现。

一个好的工作流自动化解决方案:   
能够画出工作流程图,当然以图形化界面设计的为佳;  
能为每个步骤设计电子表格;  
能将外部应用程序结合为工作流自动化的一部分;  
能与电子表格及企业数据库相连接;   
能设计基于复杂业务规则的条件型路由的工作流程图,最好无须编程;  
能根据功能、用户名称或上下级关系按规则传递信息;   
能够监控工作流执行状况;  
能够对工作流进行调节;   
能够模拟并测试工作流的行为;   
工作流的应用必须支持多用户并具高度可靠性;   
工作流的应用必须支持内部网或英特网及跨多种平台。

工作流自动化瞄准的是滞后时间。

工作流系统编程步骤总结:
创建流程定义;
部署流程定义;
启动流程定义;
获取流程实例;
执行任务;
结束任务。

看工作流的文档,经常会出现interface n这一说法,下面解释一下这些interface(一共5个)的内容:
1、Process Definitions
这一层的关键是Process Definition Language,目前的标准为XPDL。
API中有关过程定义语言的处理内容:
会话处理(连接,断开与参与系统的会话连接)
工作流定义操作(获得过程定义的名称,提供会话句柄以供对象级的操作,读取、写入第一级的过程定义对象)
工作流定义对象操作(根据工作流定义创建、获得和删除对象,获得、设置和删除对象属性)

2、Workflow APIs
API中有关工作流客户端应用接口(Interface 2)的处理内容:
1会话处理(连接,断开与参与系统的会话连接)
2工作流定义操作(获得过程定义的名称和属性)
3过程控制功能(创建、开始、中介一个独立过程实例,悬挂、恢复一个独立的过程实例,改变独立过程实例或活动实例的状态,指派、查询一
个过程或活动的属性)
4过程状态功能(打开、关闭一个过程或活动实例的查询,设置可选的过滤器,根据情况获得过滤后的过程或活动实例的细节,获得特定的过程
或活动的细节)
5工作表/工作项处理功能(打开、关闭一个工作表查询,设置可选的过滤器,根据情况获得工作表中的项,选择、重新指派、结束一个工作项时
的通知,指派或查询一个工作项的属性)
6过程管理功能(改变过程定义和过程实例的操作状态,改变所有特定类型的过程和活动实例的状态,指派属性给所有特定类型的过程和活动的
实例,结束全部过程实例)
7数据处理功能(获得/返回工作流相关数据或应用数据)

3、API中有关应用调用接口的处理内容:
会话处理(连接,断开与参与系统的会话连接)
活动管理功能([工作流引擎-->应用] 开始活动,悬挂、恢复、退出活动 [应用-->工作流引擎]活动结束通知,信号事件,查询活动属性)
数据处理功能(为工作流提供相关数据,提供应用数据或数据地址)

4、Inter-Engine Workflow
这一层描述了多个工作流引擎交互的方面,并且,各个引擎间的交互对用户是透明的。

5、Audit and Monitoring (Interface 5)
The support of this specification in workflow products allows analysis of consistent audit data across heterogeneous workflow
products. During the initialization and execution of a process instance, multiple events occur which are of interest to a business, including WAPI events, internal workflow management engine operations and other system and application functions.


posted @ 2009-03-18 18:14 断点 阅读(211) | 评论 (0)

posted @ 2010-01-14 23:04 断点 阅读(260) | 评论 (0)编辑 收藏

Caused by: java.lang.OutOfMemoryError: Java heap space
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
2009-4-2 14:32:37 org.apache.catalina.core.ApplicationContext log
信息: javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
 at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

原因:
使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space
在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是
物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。

MyEclipse下解决办法:
Window-->Preference-->MyEclipse-->Application Servers-->Tomcat-->Tomcat  6.x-->JDK-->Optional Java VM arguments下填上:
-Xms100m -Xmx200m -XX:PermSize=256m -XX:MaxPermSize=600m



posted @ 2009-04-02 20:50 断点 阅读(2174) | 评论 (0)

posted @ 2010-01-14 23:02 断点 阅读(351) | 评论 (0)编辑 收藏

严重: Servlet.service() for servlet jsp threw exception
java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class
 at org.apache.jsp.login_jsp._jspInit(login_jsp.java:23)
 at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
 at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 at java.lang.Thread.run(Thread.java:595)


解释:
加载时违背约束条件。

错误的原因:
tomcat/lib下的el-api.jar与项目WEB-INF/lib目录下的el-api.jar冲突。

解决方式:
把项目目录下的el-api.jar删除即可。


posted @ 2009-03-17 09:53 断点 阅读(903) | 评论 (0)

posted @ 2010-01-14 23:01 断点 阅读(2414) | 评论 (0)编辑 收藏

1.警告: Failed to register in JMX: javax.naming.NamingException: Could not load resource factory class [Root exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSourceFactory]


2.Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool

我今天遇到这个错误了,不过在网上终于找到了答案,主要是一个包没有导入进去,除了需要commons-dbcp.jar之外还需要commons-pool.jar这个包,把后面这个commons-pool.jar包导入C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib进去就应该行了。

总结:凡是看到ClassNotFoundException、NoClassDefFoundError等之类的,基本都是缺少什么包的,把相应的包导进去就行了。


posted @ 2009-03-09 11:00 断点 阅读(365) | 评论 (0)

posted @ 2010-01-14 23:00 断点 阅读(888) | 评论 (0)编辑 收藏

异常如下:

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io 异常: The Network Adapter could not establish the connection)
  at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
  at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
 Caused by: java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
 

主要原因:

1.可能是server.xml文件的DataSource配置出错。

(1).如果用到的是本机上的数据,本地数据源里的部分配置为: username="pcisv62" password="11" url="jdbc:oracle:thin:@localhost:1521:orcl"
(2).如果用到的是服务器上的数据,则数据源里的部分配置为: username="pcisv62" password="11" url="jdbc:oracle:thin:@dbserver:1521:corev6"

(dbserver为服务器的名字,corev6为服务器上Oracle的SID)

2.可能是oracle的tnsnames.ora文件配置出错。

oracle的安装目录E:\oracle\ora92\network\admin下的tnsnames.ora:
本地配置:
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )
或服务器配置:
COREV6_DBSERVER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = COREV6)
      (SERVER = DEDICATED)
    )
  )


posted @ 2009-03-04 17:33 断点 阅读(3508) | 评论 (0)

posted @ 2010-01-14 22:59 断点 阅读(791) | 评论 (0)编辑 收藏

tomcat 连接池泄露的问题

Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted

转载:

1 问题描述
Web程序在tomcat刚开始运行时速度很快,但过一段时间后发现速度变得很慢。
检查日志输出,发现异常如下:
org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted, cause:
java.util.NoSuchElementException: Timeout waiting for idle object
2 问题解决
tomcat 的数据源定义提供了三个参数:
a. 如果设为true则tomcat自动检查恢复重新利用,没有正常关闭的Connection.(默认是false)
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
b. 设定连接在多少秒内被认为是放弃的连接,即可进行恢复利用。
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
c. 输出回收的日志,可以详细打印出异常从而发现是在那里发生了泄漏
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>


posted @ 2009-02-17 16:03 断点 阅读(738) | 评论 (0)

posted @ 2010-01-14 22:54 断点 阅读(882) | 评论 (0)编辑 收藏

现在做个项目老是出现这个问题:

Cannot create JDBC driver of class '' for connect URL 'null'

在网上搜寻一番,现把它整理如下。

Tomcat5版本的数据源的配置如下:
<Resource name="jdbc/mldn"  auth="Container" type="javax.sql.DataSource"/>
 <ResourceParams name="jdbc/mldn">
  <parameter>
   <name>factory</name>
   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
   <name>maxActive</name>
   <value>100</value>
  </parameter>
  <parameter>
   <name>maxIdle</name>
   <value>30</value>
  </parameter>
  <parameter>
   <name>maxWait</name>
   <value>5000</value>
  </parameter>
  <parameter>
   <name>username</name>
   <value>root</value>
  </parameter>
  <parameter>
   <name>password</name>
   <value>root</value>
  </parameter>
  <parameter>
   <name>driverClassName</name>
   <value>com.mysql.jdbc.Driver</value>
  </parameter>
  <parameter>
   <name>url</name>
   <value>jdbc:mysql://localhost:3306/mldn</value>
  </parameter>
  </ResourceParams>

Tomcat6版本的数据源的配置如下:

第一步:在%Tomcat_HOME%conf\server.xml的 <Host>标签里当前位置下的<Context>里添加如下代码。

<Resource   name="jdbc/mldn"
    auth="Container"
    type="javax.sql.DataSource"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory"
    username="root"
    password="root"
    url="jdbc:mysql://localhost:3306/mldn"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="30"
    maxWait="5000"
    maxActive="100"/>

第二步:配置应用目录下的web.xml文件,在<web-app></web-app>之间加入以下代码:

<resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/mldn</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

注意:要求<res-ref-name>jdbc/mldn</res-ref-name>中的“jdbc/mldn”一定要与在server.xml中配置的Resource中的name一致,不然会出错。

第三步:在测试之前,要确保将数据库的驱动jar包放到,你的应用目录\WEB-INF\lib目录下和%Tomcat_HOME%c\lib目录下。

 下面重启Tomcat就OK了!


posted @ 2009-02-11 16:49 断点 阅读(376) | 评论 (0)

posted @ 2010-01-14 22:14 断点 阅读(262) | 评论 (0)编辑 收藏

我也遇到了这个问题,所以把它贴出来,大家了解一下。

在tomcat5下jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),
没有妥善处理好的原因。

具体的原因:
在tomcat中jsp编译成servlet之后在函数_jspService(HttpServletRequest request, HttpServletResponse response)的最后
有一段这样的代码
finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
这里是在释放在jsp中使用的对象,会调用response.getWriter(),因为这个方法是和
response.getOutputStream()相冲突的!所以会出现以上这个异常。

在使用完输出流以后调用以下两行代码即可:
out.clear();
out = pageContext.pushBody();

最后这里是一个输出彩色验证码例子(这样的例子几乎随处可见),以下为代码的一部分:
ImageIO.write(image,  " JPEG " ,os);
os.flush();
os.close();
os = null ;
response.flushBuffer();
out.clear();
out  =  pageContext.pushBody();

来源:http://chenlb.blogjava.net/archive/2007/05/26/104714.html#


posted @ 2009-02-11 15:34 断点 阅读(236) | 评论 (0)

posted @ 2010-01-14 22:13 断点 阅读(258) | 评论 (0)编辑 收藏

1Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的使用内存即可解决此问题。

Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m

Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS=-Xms256m -Xmx512m

其中,-Xms设置初始化内存大小,-Xmx设置可以使用的最大内存。

  

2Tomcat6版本已经没有catalina.bat文件了。这个时候我们需要运行%TOMCAT_HOME%\bin\tomcat6w.exe文件,修改其中的Initial memory poolMaximum memory pool的值,分别为256512。



posted @ 2008-12-17 18:11 断点 阅读(1564) | 评论 (2)

posted @ 2010-01-14 22:12 断点 阅读(414) | 评论 (0)编辑 收藏

仅列出标题
共18页: First 上一页 6 7 8 9 10 11 12 13 14 下一页 Last