`
文章列表
业务场景        在公司内部的linux主机上,通过shell调用java application来连接公司的邮件服务器,进行邮件发送   实现方式        1>通过shell读取ini文件中的配置参数,并export成系统环境变量,然后调用java程序        2>java程序里读取环境变量进行邮件发送   mail.ini   MAIL_HOST="192.168.1.21" MAIL_FROM="system@xxx.com" MAIL_TO_USERS="user1@xxx.com&q ...
apache作为前端接入,后端转到基于tomcat的web应用,有的时候,因为系统升级或者别的原因,某一个时间段后端web应用无法使用的情况下,为了友好地通知用户系统暂时无法使用,在index.html页面里用javascript进行判断目前是否可用,根据判断结果转到service_stop.html,或者web app的index.html页面.   <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8" ...
Linux下运行java程序(jdk 1.7),该程序会获取Oracle数据库连接,为了提高处理速度,采用了多个进程并行启动处理,这时,偶尔会发生数据库连接获取超时失败的异常发生.而且windows环境下没有问题.   java.sql.SQLException: IO Error: End of TNS data ...
业务场景        应用程序之间以文件作为接口,为了简化设计,没有采用单独的文件传输模块,而是采用共用nfs服务器的方式由系统层面自动完成文件的上传下载.但是,在维护阶段却经常发生nfs无法连接的问题,导致应用程序io报 ...
背景介绍        用java swing(jdk 1.7.0_71)开发了一款类似于windows explorer的桌面产品,除了文件管理等常用的功能外,还附带了标签(TAG)管理功能,也就是对文件或者文件夹指定标签,根据标签对文件进行管理.   遇到的问题        应用中有一个根据关键字进行文件查找的功能,查找本身并没有什么问题,只是对符合查找条件的文件或者文件夹进行画面显示的时候,遇到了jvm内存爆满的问题.因为测试了一种极端的情况,查找C盘下的所有带a关键字的文件和文件夹,因为结果集特别大,所以画面显示的时候遭遇了JVM内存储爆满.   原因分析       ...
承接 用AOP实现业务service的重新调用(二),我们继续......   代码看似不多,但实现上需要考虑很多问题,因为哪怕只有一个问题没搞定,整个实现就是失败的.   问题列表: 1>事务完整性的问题        前后两次,是否能保证事务的完整性,我们的事务正好也是通过spring的aop实现的,所以要注意我们新加的ServiceRetryAdvice拦截器要在spring事务拦截器之前调用,也就是包在事务拦截器外面,这样才不会影响spring的事务提交/回滚机制.   <value>serviceRetryInterceptor</value& ...
 承接 用AOP实现业务service的重新调用(一),我们继续......   service重试的落地实现        方案A: web业务系统里面有很多action,很多service,如果直接从每个调用service的点入手的话,修改点会很多,而且代码会大量冗余,实现代码并不复杂   try{ //service调用 } catch(UncategorizedSQLException e) { if(retry) { //service调用 } }            方案B: 因为我们使用了spring,所以自 ...
项目配置        struts+spring+ibatis        Websphere+as400+db2   遇到的问题        点击web页面上的一个button,调用后端的业务逻辑,再通过dao访问数据库进行各种事务操作(增删改查等等),但是同样的操作,同样的数据,有的时候偶尔会失败,通过查看日志文件,发现root原因是下面这个exception. StaleConnectionException,原因是使用中的db connection是失效连接.而且发生异常的时间点没有任何规律.   Caused by:  com.ibm.websphere.ce ...
管理activity的生命周期 通过实现回调方法来管理activity的生命周期。一个activity的生命周期受与它关联的其它activity,task和back stack的影响。 一个activity存在3种状态: resumed(running)-activity运行在前台并且获得用户焦点。 paused-另一个activity运行在前台并且获得用户焦点,但是当前activity仍然可见,paused状态下的activity仍然存活(保持同window manager的联系),但是当内存不足的时候可能会被系统kill掉。 stopped-当前activity完全被另一个a ...
activity是与用户进行交互的屏幕,比如:打电话,拍照,发送邮件,浏览地图。每个activity被赋予了一个窗口,在这个窗口上可以勾画用户交互界面。窗口可以填充整个屏幕,也可以比屏幕小,或者悬浮在其它窗口的上面。   一个应用通常包含多个activity,各个activity彼此松散地进行关联。其中有一个activity被指定为main activity,当应用第一次启动的时候,main activity会出现在用户面前。为了执行不同的动作,每个activity都可以启动其它的activity。每次启动一个新的activity,原来的activity会被停止,但是系统仍然会把它保留在b ...
当android启动一个应用组件之前,必须通过读取应用的ManifestAndroid.xml文件来确认该组件的存在。在manifest文件中必须包含该应用的所有组件。并且manifest文件必须位于应用项目的根目录下。此外,还提供如下功能: 标识应用需要 ...
一个android程序由多个组件组成,每个组件实现特定的功能,有的组件可以作为系统进入应用程序的入口点,各个组件协同合作,共同组成一个完整的应用程序。有4种不同类型的组件,每种组件有其独特的使用目的和生命周期。 ...
android应用程序使用java语言编写,然后使用android sdk工具把编译好的代码,数据以及资源文件打包成一个apk文件,在android设备上用apk文件进行安装后即可使用该应用程序。   每个安装完的应用程序都在自己的一个安全沙箱里面运行。 android操作系统是一个多用户的linux系统,缺省情况下,操作系统为每个应用程序都分配一个单独的用户。只有这个用户才有权限访问该应用程序下的所有文件。 每个应用程序拥有自己的虚拟机,所以各个应用程序是彼此独立运行的。 缺省情况下,每个应用运行在自己独立的linux进程当中,当应用中的组件需要运行的时候,android启动进 ...
1>在web.xml中配置servlet大家都比较熟悉,而且用得也比较多。 比如: <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>MyServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>1</param-value> ...
JSP提供了9个内置对象,在JSP页面中可以直接使用这九个对象。   内置对象:   对象名 类 说明 request javax.servlet.http.HttpServletRequest 客户端请求 response javax.servlet.http.HttpServletResponse 客户端响应 page java.lang.Object JSP页面 pageContext javax.servlet.jsp.PageContext 页面上下文,管理页面范围内的对象 session javax.servlet. ...
Global site tag (gtag.js) - Google Analytics